Hi Tig,
As shown in my second photo, I made the rungs irregular in height. And I want the side bar and rungs made of PFC channel in real. So I have to extrude the side bar and rung in different direction seperately.
Regards,
Cean
Hi Tig,
As shown in my second photo, I made the rungs irregular in height. And I want the side bar and rungs made of PFC channel in real. So I have to extrude the side bar and rung in different direction seperately.
Regards,
Cean
Hi Andrew,
Tried the 'enable length snapping", seems no improvement.
The rung is assumed to be drawn on the surface of the left bar and end on the surface of right bar. But the two joints are shown in two different ways at two ends.
I was wondering if there is a 'Union' command I could use? Or the 'snapping' should look after this.
Regards,
Cean
The problem for that line is when I output a STL file, it generates a plane inside the geometry and stop me meshing for FEA simulation.
The photo showed here is after output STL file and viewed under GMSH.
Hi Tig,
Thanks for your suggestion. I am trying to understand all of that. I updated the program to draw the rungs in non- coplanar way. For this, I need to pushpull them seperately.
Regards,
Cean
Hi Andrew,
The real model I want is far more complicate than I showed here. There are much more unwanted lines like this. It's difficult to delete them all by hand and do it repeatly when I changed a parameter.
Thanks
drawing attached to show where is the line
Hi All,
I use attached code to draw a ladder - two side bars joined by a few rungs at different levels.
The problem is that there is a line between the joint of one side bar and the rungs. The joint at the other side doesn't has this line. The line means the two parts are not joint together and later will have error when I mesh them.
Is there a way I can avoid generating this line?
Thanks.
Regards,
Cean
"SunPath/Choose a day" is operated differently with other setting.
After click SunPath button, I only got one orange line along an axis.Nothing else happen after i click the OK button to close the pop-up setting window.
Thanks Scott. That's fantastic.
After try your code, I saved red Sang with weight option as a "red sang.skp" under folder "Components/Components Sampler/"
Then I tried to load this skp file like this:
def red_sang
path1=Sketchup.find_support_file "red Sang.skp" ,"Components/Components Sampler/"
model=Sketchup.active_model
definitions = model.definitions
componentdefinition1 = definitions.load path1
point = Geom::Point3d.new 10,0,0
transform = Geom::Transformation.new point
instance=model.entities.add_instance componentdefinition1,transform
end
UI.menu("Plugins").add_separator
UI.menu("Plugins").add_item("Draw red sang") { red_sang }
But when I check the option, there is no option anymore.
Should I load the file in other way?
Thanks
Thanks HPW.
The link you provided was last posted on Nov 25 2008.
I tried the code there. The skp files under "Components/Components sampler/" folder seem to be only a simple component or include dynamic component but no option.
I added an instance of an DC with option in that way, when i right click to try to change the option, I was told there is no option.
posted once,but not showed up.
try this:
The circle will much fine now. Try export DXF now.
Don't know how to tell SketchUp to remember this setting.
Hi,
After open a SKP file containing a dynamic component, I'd like to try to change the component options by ruby code. And place another instance.
Is it possible to do these under SU free version?
Thanks
Made some changes and works now.
It seems I have to declare one definition,add entities and place the component. After that, declare anonther component definition,....
If I declare a few definitions at the same time, when the subroutine is called for the second component, it will report the entities has been deleted.
Hi,
What I want to do is to create a component like a table. I use one same subroutine to create the four legs and the top.
I declared a component definition in the Main like this:
$new_comp_def=Sketchup.active_model.definitions.add("MyComp")
then try to add some face entitites in a subroutine to it like this:
points ...
face=$new_comp_def.entities.add_face(points)
face.pushpull(height)
The error I got is some nil faces which can't be pushpulled. It seems the global virable $new_comp_def has no efect. I can't save the entities into it. Sometimes the error message says I was referencing a deleted entity.
Are these faces deleted when the subroutine finished?
Thanks
Hi,
I have tried to use two intersected cubes to demonstrate how to use the intersect_with command. This could be a example for the ruby doc.
<span class="syntaxdefault"><br /> model </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">Sketchup</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">active_model<br /> entities </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">model</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">entities<br /><br /> </span><span class="syntaxcomment">#Create a group to collect all entities for base cube<br /> </span><span class="syntaxdefault">basegroup</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">entities</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">add_group<br /> basegroupentities</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">basegroup</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">entities<br /> p1 </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">Geom</span><span class="syntaxkeyword">;;</span><span class="syntaxdefault">Point3d</span><span class="syntaxkeyword">.new(</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">0</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">0</span><span class="syntaxkeyword">)<br /> </span><span class="syntaxdefault">p2 </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">Geom</span><span class="syntaxkeyword">;;</span><span class="syntaxdefault">Point3d</span><span class="syntaxkeyword">.new(</span><span class="syntaxdefault">2000</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">0</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">0</span><span class="syntaxkeyword">)<br /> </span><span class="syntaxdefault">p3 </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">Geom</span><span class="syntaxkeyword">;;</span><span class="syntaxdefault">Point3d</span><span class="syntaxkeyword">.new(</span><span class="syntaxdefault">2000</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">150</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">0</span><span class="syntaxkeyword">)<br /> </span><span class="syntaxdefault">p4 </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">Geom</span><span class="syntaxkeyword">;;</span><span class="syntaxdefault">Point3d</span><span class="syntaxkeyword">.new(</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">150</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">0</span><span class="syntaxkeyword">)<br /> </span><span class="syntaxdefault">p5 </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">Geom</span><span class="syntaxkeyword">;;</span><span class="syntaxdefault">Point3d</span><span class="syntaxkeyword">.new(</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">0</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">0</span><span class="syntaxkeyword">)<br /> </span><span class="syntaxdefault">points </span><span class="syntaxkeyword">= [</span><span class="syntaxdefault">p1</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">p2</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">p3</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">p4</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">p5</span><span class="syntaxkeyword">]<br /> </span><span class="syntaxcomment">#Add a face entity into base group<br /> </span><span class="syntaxdefault">base </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">basegroupentities</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">add_face points<br /> normal </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">base</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">normal<br /> </span><span class="syntaxkeyword">if </span><span class="syntaxdefault">normal</span><span class="syntaxkeyword">==[</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">,-</span><span class="syntaxdefault">1</span><span class="syntaxkeyword">]<br /> </span><span class="syntaxdefault">base </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">base</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">reverse</span><span class="syntaxkeyword">! <br /> </span><span class="syntaxdefault">end<br /> base</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">pushpull 1000<br /> base_trans</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">basegroup</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">transformation<br /><br /> </span><span class="syntaxcomment">#Create a group to collect all entities used for cutting cube<br /> </span><span class="syntaxdefault">cutgroup</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">entities</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">add_group<br /> cutgroupentities</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">cutgroup</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">entities<br /> p1 </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">Geom</span><span class="syntaxkeyword">;;</span><span class="syntaxdefault">Point3d</span><span class="syntaxkeyword">.new(</span><span class="syntaxdefault">500</span><span class="syntaxkeyword">, -</span><span class="syntaxdefault">50</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">500</span><span class="syntaxkeyword">)<br /> </span><span class="syntaxdefault">p2 </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">Geom</span><span class="syntaxkeyword">;;</span><span class="syntaxdefault">Point3d</span><span class="syntaxkeyword">.new(</span><span class="syntaxdefault">1500</span><span class="syntaxkeyword">, -</span><span class="syntaxdefault">50</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">500</span><span class="syntaxkeyword">)<br /> </span><span class="syntaxdefault">p3 </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">Geom</span><span class="syntaxkeyword">;;</span><span class="syntaxdefault">Point3d</span><span class="syntaxkeyword">.new(</span><span class="syntaxdefault">1500</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">200</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">500</span><span class="syntaxkeyword">)<br /> </span><span class="syntaxdefault">p4 </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">Geom</span><span class="syntaxkeyword">;;</span><span class="syntaxdefault">Point3d</span><span class="syntaxkeyword">.new(</span><span class="syntaxdefault">500</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">200</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">500</span><span class="syntaxkeyword">)<br /> </span><span class="syntaxdefault">p5 </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">Geom</span><span class="syntaxkeyword">;;</span><span class="syntaxdefault">Point3d</span><span class="syntaxkeyword">.new(</span><span class="syntaxdefault">500</span><span class="syntaxkeyword">, -</span><span class="syntaxdefault">50</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">500</span><span class="syntaxkeyword">)<br /> </span><span class="syntaxdefault">points </span><span class="syntaxkeyword">= [</span><span class="syntaxdefault">p1</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">p2</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">p3</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">p4</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">p5</span><span class="syntaxkeyword">]<br /> </span><span class="syntaxcomment">#Add a face entity into cut group<br /> </span><span class="syntaxdefault">base </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">cutgroupentities</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">add_face points<br /> normal </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">base</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">normal<br /> </span><span class="syntaxkeyword">if </span><span class="syntaxdefault">normal</span><span class="syntaxkeyword">==[</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">,-</span><span class="syntaxdefault">1</span><span class="syntaxkeyword">]<br /> </span><span class="syntaxdefault">base </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">base</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">reverse</span><span class="syntaxkeyword">! <br /> </span><span class="syntaxdefault">end<br /> base</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">pushpull 1000<br /> cut_trans</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">cutgroup</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">transformation<br /> <br /> </span><span class="syntaxcomment">#Use all entities in cut group to cut through all entities in base group<br /> #The middle basegroup variable is to specify that the intersection lines are drawn on base group entities.<br /> </span><span class="syntaxdefault">cutgroupentities</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">intersect_with false</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">cut_trans</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">basegroup</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">base_trans </span><span class="syntaxkeyword">, </span><span class="syntaxdefault">true</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">basegroup <br /> <br /> status </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">basegroup</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">explode<br /> model</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">active_view</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">zoom_extents<br /> UI</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">messagebox</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"Click to delete cut group."</span><span class="syntaxkeyword">)<br /> </span><span class="syntaxdefault">cutgroup</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">erase</span><span class="syntaxkeyword">!<br /> </span><span class="syntaxdefault"></span>