[Plugin] Hatchfaces (v1.8 beta) UPDATED 15-Dec-2012

[Plugin] Hatchfaces (v1.8 beta) UPDATED 15-Dec-2012

Postby jolran » Tue Jul 12, 2011 8:17 am


# Date : 15.12.2o12
# / / / / / #
# THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR #/ / / / / /#
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # / / / / / #
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. #ver 1.8 beta #---------------------------#


This version has a webdialog HELP-file in the draw menu.
It has instructions, but I mainly made it for testing webdialog-compability.

So please read it, there are some new features i would like you to test.
Make sure to click the icons on the bottom of the page to change page.
1 new feature is called "Heal section slice". But it doesent use sections. For that use TIG's Sectioncutface or Zorro2.
It should work on nested groups or components down to ~3 levels

Background is the main new thing. Where a background component with gluebehavior will be created. With some creative use of profiles in styles, one can get borders around the hatch without affecting the hatched edges cause the background has hidden outer edgeloops, etc etc.

Still no Pattern hatching yet. Code still need optimizing, but found a few traps where there were silent errors before. Will port stuff bit by bit.

Hope you enjoy, more to come soon..

Tested on Windows only. Sketchup 7 and 8.
2
Last edited by jolran on Wed Jan 30, 2013 10:00 am, edited 14 times in total.
User avatar
jolran 
PluginStore Author
PluginStore Author
 

Re: [PLUGIN] Hatchfaces!

Postby jolran » Tue Jul 12, 2011 8:18 am

Here is how you use it! Installation: Unzip in your Sketchup plugins dir.

In ver 1.8 edge selection is not needed. Then angle will be calculated from the "bottom bounds-border". However for more control one can still use edge selection.

New for APRIL 29-2013 Sectioncut and HATCHES tutorial

It may not be so self-explanatory in the help files how to use Sectioncuts and Hatchfaces together, so I release this mini-tutorial of 1 way of doing it.

NOTE: TIG's Sectioncutface is the prefered solution to use for creating faces at section
in step 1 of this tutorial.
1
Last edited by jolran on Mon Apr 29, 2013 9:41 am, edited 4 times in total.
User avatar
jolran 
PluginStore Author
PluginStore Author
 

Re: [PLUGIN] Hatchfaces!

Postby sergey2402 » Tue Jul 12, 2011 1:40 pm

SUPER! :thumb:
0

sergey2402 
 

Re: [PLUGIN] Hatchfaces!

Postby Didier Bur » Tue Jul 12, 2011 3:25 pm

Hi,
Handy but what the advantage compared to a "hatch" material ?
0
Didier Bur (Bytes Farmer)
Ecole Nationale Supérieure d'Architecture de Nancy (F)
http://rld.crai.archi.fr/rubylibrarydepot/
User avatar
Didier Bur 
 

Re: [PLUGIN] Hatchfaces!

Postby jolran » Tue Jul 12, 2011 3:54 pm

Hi.

It,s all edges= geometry. It will get detected in other Cad-programs(hopefully) through export.
Not all Cad programs use materials with textures, Doublecad for ex(as far I know).
Also I can Imagine an advantage with edges against tetxtures in Layout as well. Vector vs raster vs Hybrid, when zooming for ex. printing.

I am thinking of getting into Layout, doing all the bits in there. CD, buildingpermits etc.

How long is setuptime using textures? How difficult is it to get correct alignment with textures?
How "big" do the textures have to be to not get jaggy? These are all questions I would like to have answered for a good
workflow with Layout.

So I am glad you brought it up.
1
User avatar
jolran 
PluginStore Author
PluginStore Author
 

Re: [PLUGIN] Hatchfaces!

Postby sergey2402 » Tue Jul 12, 2011 7:58 pm

I hope very much you will continue to improve this plugin.
0

sergey2402 
 

Re: [PLUGIN] Hatchfaces!

Postby lapx » Tue Jul 12, 2011 9:24 pm

Me too! It would be nice if it could read and tranaslate autocad hatch file. We need some cross polination of the minds on this one. :)
I wonder if it works on curved surfaces...I must experiment.
Thanks!
0

lapx 
 

Re: [PLUGIN] Hatchfaces!

Postby dbalex » Tue Jul 12, 2011 9:48 pm

great idea, I wanted this for a long time in sketchup!
0

dbalex 
 

Re: [PLUGIN] Hatchfaces!

Postby kyyu » Tue Jul 12, 2011 10:52 pm

jolran,

To get the spacing right; make the 3 changes in red:

vp=ve.transform(tr)
vp.length=di*2
vs=face.normal.cross(vp) #spacing vector perpendicular to hatch line
tot=0
until tot>=di*2
ps=pt.offset(vp)
pe=pt.offset(vp.reverse)
gents.add_line(ps,pe)
pt.offset!(vs,spacing)
ps=po.offset(vp)
pe=po.offset(vp.reverse)
gents.add_line(ps,pe)
po.offset!(vs.reverse,spacing)
tot=tot+spacing
end#until


I think you are also missing this line at the end:
unless file_loaded?("Hatchfaces.rb")

toolbar = UI::Toolbar.new("Hatchfaces")



cmd0 = UI::Command.new("Hatchfaces") { self.hatchfaces }

jol_icons = Sketchup.find_support_file "Plugins/Hatchfaces/hatchfaces_s.png"
jol_iconl = Sketchup.find_support_file "Plugins/Hatchfaces/hatchfaces_l.png"

cmd0.small_icon = jol_icons
cmd0.large_icon = jol_iconl
cmd0.tooltip = "hatched lines"
cmd0.status_bar_text = "faces to hatch selection"
cmd0.menu_text = "Hatching"
toolbar.add_item cmd0
toolbar.show

end

file_loaded("Hatchfaces.rb")

end
0

kyyu 
 

Re: [PLUGIN] Hatchfaces!

Postby jolran » Wed Jul 13, 2011 7:00 am

Guys, I'm glad youre showing interrest in this plugin! I will try to do by best to improve it.
About Autocad compability.. You have to realize, 2 months ago I had no programming experience att all and
that feature sounds fairly complex. I think priority must be made to get spacing OK, and holes get filled.

Now with the help of TIG and KYYU here things can go quite faster.
TIG pm me about the "hole" issue, so his given me "homework" on that :D

KYYU! Really appricate your effort!
I will try you fix!

file_loaded("Hatchfaces.rb")

Hmmm, thought I did not need that. It's not loading right for you?
0
User avatar
jolran 
PluginStore Author
PluginStore Author
 

Re: [PLUGIN] Hatchfaces!

Postby jolran » Wed Jul 13, 2011 7:23 am

Spacing should be working now! Ver 1.1 added(in first post)

Thanks KYYU!
0
User avatar
jolran 
PluginStore Author
PluginStore Author
 

Re: [PLUGIN] Hatchfaces!

Postby jolran » Wed Jul 13, 2011 8:30 am

The thing about curved surfaces in Sketchup is.. They consist of a bunch of lines!
Look at the half cylinder in revealed hidden lines, one see how the cylinder is made out
of edges. When running the plugin, even if the lines are hidden they will get detected,
with following result.

For NOW! A temporary fix for faces with holes (until I have included TIG's solution)
is to create a temporary edge across the face(before running the plugin). It will need to be deleted in both the hatches and on the face...

Alignment is still a little problematic. When running 2 faces next to each other(2 separate times) one would expect the lines to get aligned to each other, where the vertices meet.
In my original idea the grouped edges where copied FROM center outwards 1 time in each direction, so maybe try to implement that behavior in this version too if possible.
0
User avatar
jolran 
PluginStore Author
PluginStore Author
 

Re: [PLUGIN] Hatchfaces!

Postby atelierpaar » Wed Jul 13, 2011 7:44 pm

great plugin, that`s what we needed !
While creating the hatching, the tool also creates an surrounding outline.
Do you think, it would be possible to have a choice to hide or show this outline.
thanks for the great work :D
Uli
0
User avatar
atelierpaar 
 

Re: [PLUGIN] Hatchfaces!

Postby kyyu » Wed Jul 13, 2011 8:06 pm

jolran wrote:Guys, I'm glad youre showing interrest in this plugin! I will try to do by best to improve it.
About Autocad compability.. You have to realize, 2 months ago I had no programming experience att all and
that feature sounds fairly complex. I think priority must be made to get spacing OK, and holes get filled.

You're doing good for 2 months. I started the same way, with no programming experience, about 1 & half years now. I still have alot to learn. Takes alot of time at our level, to do even simple stuff.


file_loaded("Hatchfaces.rb")

Hmmm, thought I did not need that. It's not loading right for you?

Concerning this line of code. It put's your plugin in a list of loaded files. That's the list your are checking when you say "unless file_loaded?("Hatchfaces.rb")". So if you don't have the loaded line, then there is no reason to check if the file has been loaded in the 1st place.

I thought Sketchup would give me a 2nd toolbar, if I loaded the plugin again. But it appears not. Maybe Sketchup won't let you have two toolbars with the same name? So I guess it didn't matter,after all, for your plugin. But, like I mentioned, then you could have left out the 1st line, also. Where it matters, is menu items. Sketchup will add a new menu item each time you reload a plugin, if you don't have those 2 lines.

And as a fyi, these two methods are in the "sketchup.rb" file. That's probably why you have the line at the very beginning: "require 'sketchup.rb'"

-Kwok
0

kyyu 
 

Re: [PLUGIN] Hatchfaces!

Postby jolran » Wed Jul 13, 2011 8:13 pm

Hi Atelerpaar!

I did not think of that until you mentioned it now. Good suggestion :thumb: That would be the behaivior one would expect. Also files would get smaller. I will try my best :)

I have an new idea for getting different patterns. 2d DCs with intersection. Don't know if it is possible, have to do some research. But then a library of concrete and such could be made with a webdialog and thumbnails. Needles to say, quite a project..

Any interest in that? Or are textures already sufficient as they are for that purpose?

(my personal feeling is that textures get ugly in Layout unless perfectly scaled, Richards masking-method works ok, but is not 100% flexible)
0
Last edited by jolran on Thu Jul 14, 2011 5:37 am, edited 1 time in total.
User avatar
jolran 
PluginStore Author
PluginStore Author
 

Re: [PLUGIN] Hatchfaces!

Postby jolran » Wed Jul 13, 2011 8:17 pm

Thanks KYYU :D

And thank you for that explanation. You are most helpful!
0
User avatar
jolran 
PluginStore Author
PluginStore Author
 

Re: [PLUGIN] Hatchfaces!

Postby sadyo » Thu Jul 14, 2011 4:02 am

:sketchstatic: Thanks Jolran, it's really awesome plugin
Then... AutoCAD would be far away now
0
User avatar
sadyo 
 

Re: [PLUGIN] Hatchfaces!

Postby jolran » Thu Jul 14, 2011 9:06 am

Been at it all morning. Seems not that easy to erase surrounding edges as I thought.
Outer edges are most possible, but I suspect you just want the hatched (eg45 deg or so) lines remained? Probably missing something in my code..

Takes alot of time at our level, to do even simple stuff.


Damn right about that :x :D

But you are far ahead of me in Ruby-knowledge :oops:

Cheers Sadyo

I guess this thread is supposed to be about updates and wishes? So won't discuss too much code in here.
0
User avatar
jolran 
PluginStore Author
PluginStore Author
 

Re: [PLUGIN] Hatchfaces!

Postby TIG » Thu Jul 14, 2011 9:41 am

Do you mean erase the surround edges to the hatching ?

To do that you need to examine the hatching group's geometry before your code to finally erase all faces.
Make an empty array
edges2go=[]
then iterate the geometry
group.entities.each{|e|edges2go << if e.class==Sketchup::Edge and not e.faces[1]}
i.e. 'edges2go' is now a list of all edges in the hatching group that are on the 'perimeter' - i.e. they have only one face. We will now erase them - this will destroy their faces too so you probably never need to erase the group's faces as there won't be any left!
group.entities.erase_entities(edges2go)
All perimeter edges are erased en mass. :D
How are you getting on with the 'holes' issue :?:
0
TIG
User avatar
TIG 
Global Moderator
 

Re: [PLUGIN] Hatchfaces!

Postby jolran » Thu Jul 14, 2011 1:17 pm

He he! I can't make this work. I wish it was as simple for me as it is for you :oops:

before your code to finally erase all faces.

By that you mean after the intersection and before the erasing?

The "hole" issue is putting a hole in my brain.
0
User avatar
jolran 
PluginStore Author
PluginStore Author
 

Re: [PLUGIN] Hatchfaces!

Postby TIG » Thu Jul 14, 2011 1:36 pm

The two relevant lines in the code
gents.to_a.each{|e|e.erase! if e.valid? and e.class==Sketchup::Edge and e.faces.length==0}
gents.to_a.each{|e|e.erase! if e.valid? and e.class==Sketchup::Face}

The first line removes any unfaced edges.
The second removes all faces.
What you need to do between them is add these lines
edges2go=[]
gents.each{|e|edges2go << if e.class==Sketchup::Edge and not e.faces[1]}
gents.erase_entities(edges2go)

This will remove perimeter edges and thereby all faces anyway... So after a test you should find the original second line to erase all faces is no longer needed...
:geek:
0
TIG
User avatar
TIG 
Global Moderator
 

Re: [PLUGIN] Hatchfaces!

Postby jolran » Thu Jul 14, 2011 3:07 pm

Yeeyy!!! It works now!

I had to think a little bit :) Where some typos(I hope I did not destroy anything :?: )

Anyway it works. Will post update soon..

Code: Select all
gents.to_a.each{|e|e.erase! if e.valid? and e.class==Sketchup::Edge and e.faces.length==0}
      edges2go=[]
      gents.each{|e|edges2go << e if e.class==Sketchup::Edge and not e.faces[1]}
      gents.erase_entities(edges2go)


Thanks to TIG this plugin gets updated once more :D
0
Last edited by jolran on Thu Jul 14, 2011 4:57 pm, edited 1 time in total.
User avatar
jolran 
PluginStore Author
PluginStore Author
 

Re: [PLUGIN] Hatchfaces!

Postby jolran » Thu Jul 14, 2011 4:25 pm

Ver 1.2 zip added at first post.
0
User avatar
jolran 
PluginStore Author
PluginStore Author
 

Re: [PLUGIN] Hatchfaces!

Postby sergey2402 » Thu Jul 14, 2011 4:58 pm

Well done! You are doing greatly desired work!
I really, really like it.
0

sergey2402 
 

Re: [PLUGIN] Hatchfaces!

Postby jolran » Thu Jul 14, 2011 5:23 pm

Why thank you :oops: But I really think you should thank TIG and Kyuu.

Feel free to ask for ways to improve! Or even come up with ideas :thumb:
0
User avatar
jolran 
PluginStore Author
PluginStore Author
 

Re: [PLUGIN] Hatchfaces!

Postby Ken » Thu Jul 14, 2011 7:43 pm

Well, this is starting to look good. My suggested improvement

1. If you do two hatches of the same face, is it possible to get both hatches in the same group.


Thank you for your work

Ken
0
Fight like your the third monkey on Noah's Ark gangway.
User avatar
Ken 
Premium Member
Premium Member
 

Re: [PLUGIN] Hatchfaces!

Postby sergey2402 » Thu Jul 14, 2011 7:58 pm

Maybe hatches should be on its own layer?
0

sergey2402 
 

Re: [PLUGIN] Hatchfaces!

Postby jolran » Thu Jul 14, 2011 8:15 pm

Thank you for your input guys!! Good points!

I will answer more profound tomorrow. I'm a bit in a hurry! For Now, here is a minitut or tips, as a compensation that the hole "issue" isent fixed yet. ;)
0
User avatar
jolran 
PluginStore Author
PluginStore Author
 

Re: [PLUGIN] Hatchfaces!

Postby sergey2402 » Thu Jul 14, 2011 8:41 pm

TIG, kyyu, please do not leave jolran alone. You are all together make a very necessary work.
0

sergey2402 
 

Re: [PLUGIN] Hatchfaces!

Postby TIG » Thu Jul 14, 2011 10:17 pm

We are helping him... [sometimes in the background ;) ] :D
1
TIG
User avatar
TIG 
Global Moderator
 

SketchUcation One-Liner Adverts

by Ad Machine » 5 minutes ago



Ad Machine 
Robot
 

Next


 

Return to Plugins

Who is online

Users browsing this forum: yurimendes and 6 guests

Visit our sponsors: