[Plugin] PipeAlongPath
-
You can probably reduce the list of possible culprits by looking at the recent updates or those with do complicated processes - they are more likely to have observers etc...
Can you post a simple list of your installed plugins ? -
@tig said:
Can you post a simple list of your installed plugins ?
2DTools
Fredo6_Curvizard
Fredo6_FredoScale
Fredo6_FredoTools
Fredo6_JointPushPull
FrontFace
Layer Manager
sketchup-stl
tt_cleanup
tt_edgetools
TT_Lib2
tt_selection_toys
tt_solid_inspector
CenterPointAll.rb
dropGC.rb
ExtrudeAlongPath.rb
ExtrudeTools.rb
extrude_lines2.rb
HoleInTheWall.rb
ithil_facefinder.rb
ithil_reverseface.rb
LibTraductor.rb
makefaces.rb
mesh_additions.rb
Mirror.rb
move_to_origin.rb
ocean_extension.rb
PipeAlongPath.rb
PurgeAll.rb
pushpull_tool.rb
recurve.rb
s4u_makeface.rb
SectionCutFace.rb
SimplifyContours.rb
sketchup-stl.rb
SketchyFFD.rb
SliceModeler.rb
TIG-Split_to_plane.rb
tt_cleanup.rb
tt_edgetools.rb
TT_Lib2.rb
tt_selection_toys.rb
tt_solid_inspector.rb
Zorro2.rb
There are no quite new plugins here. Every of them I used for long time. -
Ignoring those I am 99% sure are OK...
Try disabling these and re-test:
FrontFace
dropGC.rb
HoleInTheWall.rb
ithil_facefinder.rb
ithil_reverseface.rb
recurve.rb
s4u_makeface.rb
SliceModeler.rbYou also have some 'old' ones that I think might not belong in there - there might be newer su_ versions available ?
... e.g.ocean_extension.rb
SimplifyContours.rb -
You're right. Many of plugins in my set are a bit old.
OK. I deleted those you've mentioned, relaunch my SU, select the whole chain (of edges), run PipeAlongPath and stil got SU hang. Looks like my Plugins folder needs total revision... -
I've tried another way. I redrew the same chain (of edges) near existing one and had no problem with making pipe. But still got the hang with existing chain.
Finally after revision, deleting some of and reinstall/updating all of existing plugins I have no problem. Unfortunally I missed at which step it happened. Thanks TIG
-
I find this plugin very useful to draw scaffolding poles when designing amateur theatre sets using scaffolding as part of the structure. I've reset (in the code) the default sizes, and options, to suit my use.
I'd also very much like to have the plugin create a component, rather than a group, and to orient the component axis along the direction of the first line segment in the path. Would that be difficult?
I don't think my own SU Ruby skills are quite up to this, though I may well have a go - I might to able to code for component creation, but have no idea how to set the component axes in Ruby.
-
You can do it several ways.
Without recasting this as a Sketchup Tool etc I think your best bet is to make the group as it is.
Then later you can turn that into a component instance...
At that stage the origin of the group, and now the component definition ,is at the bounds.min of the container.
To relocate the axes you need to do theses steps...
Get the vector from the point you want the axes to be back to the container's origin.
Then transform all of the definition's entities by that vector.
Then move the instance by the inverse transformation, so it doesn't visibly move BUT its origin is now at the desired point.
I assume you'd probably want that to be the center of the start of the extrusion @new_pts[0] aka pt1 ?
You always want the axes to align in the red along the pipe ?
Insert something like this order around line#490 [untested]...###... ### inst=group.to_component defn=inst.definition defn.name="some_name_you_like" ents=defn.entities vec.reverse! xaxis=inst.transformation.xaxis vert=vec.cross(xaxis) trans=Geom;;Transformation.new() unless vert.length==0 ang=vec.angle_between(xaxis) unless ang==0 trans=Geom;;Transformation.rotation(pt1, vert, ang) ents.transform_entities(trans, ents.to_a) inst.transform!(trans.inverse) end end vector=pt1.vector_to(ORIGIN) unless vector.length==0 trans=Geom;;Transformation.translation(vector) ents.transform_entities(trans, ents.to_a) trans=Geom;;Transformation.translation(vector.reverse.transform(inst.transformation)) inst.transform!(trans) end defn.invalidate_bounds ### model.commit_operation
??? It IS convoluted ???
-
hi TIG,
I am having repeated crashes while using PipeAlongPath to create a handrail. the model is small and should not be a problem. I wonder if there is a conflict with some other extension. list of extensions attached.
any ideas?
-
With your SKP I get the Bugsplat! as well.
So something is odd in your path...
I can make it work with an exploded path and 8s extrusion... The issue is caused by the tiny geometry you try to make by having very segmented 'sweeps' between the long rails.
If you make 90 degree junctions it works at 24s OK...If you want radiused 'sweeps' make them at least the diameter of the tube...Here the swept radius is 26mm, the tube is 25mm radius [5cm diam] - so that works...
This is a 'full-sweep' between the two main rails.
Make a swept arc that's tangential from the mid-point of the two rails.
Copy that and rotate it to match the other slope...
Then weld the path and the rails sweep seamlessly around a curve as I suspect you'd prefer... -
I built the path with Fredo6's BezierSpline extension (Polyline Arc Corners tool). the odd thing is that it works with Profile Builder.
regards.
-
Thanks for this, how do I activate the toolbar set for this?
-
@oldskoolflash said:
Thanks for this, how do I activate the toolbar set for this?
You can't !
It doesn't have a toolbar - there is just a menu entry. -
Easy to Use, Well done. worked in Sketchup 2016
-
Here is a "LangHandlered" version of it.
Had to modify some strings.
French included.
Only thing not completely translated is the last check, for slight skew. I could not reproduce the error case.
-
Thanks
-
Just installed in 2018, causes a crash.
-
@tampapowers said:
Just installed in 2018, causes a crash.
I just tried using it in v2018... and it worked just fine.
What settings are you using ?
What's the preselected path like ?
A simple example SKP might help... -
This is the path: https://i.imgur.com/HOQ8AC1.png
Settings are: https://i.imgur.com/6EdzK9f.png -
You can attach images and SKPs to your post.
Without a SKP I can't be 100% sure, but I suspect you are falling foul of the tiny geometry issues that SketchUp has, that is if two points are within SketchUp's built-in tolerance of 1/1000".
Then it cannot make that edge and any related face[s] can't then be made either !
Your outer diameter of 3mm and internal diameter of 1mm will most likely try to produce some tiny facets - especially when you give it 12 sides, and it is following that very wavy path, which itself I guess has several small segments per wave ?The way to make something this small is as follows...
- Create the path.
- Make a component of it.
- Make a copy to one side.
- Scale the copy up by say x1000.
- Re-zoom extents so that you see the giant copy.
- Edit the copy and select the path.
- Use the PipeAlongPath tool, adjusting the settings by the scale-factor - e.g. 3mm >>> 3m
- When the pipe is successfully made, exit the edit and delete the giant copy.
- Re-zoom to look at the normal sized instance and the very tiny geometry will be OK.
Tiny geometry can exist, but you cannot create it at the tiny dimensions.
Note that this tiny-geometry tolerance issue can affect many operations in SketchUp and its Extensions - the above fix works for all such cases...
Any operation that might make tiny edges - like an intersect-with etc - benefits from this workaround... -
Scaled up by a factor of 100 it no longer crashes. Maybe build in an error if things get too small so it does not immediately crash?
Advertisement