[Plugin] PipeAlongPath
-
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?
-
It already has some traps.
For example if you do a right-angle bend with a very segmented pipe below a diameter of about 200mm the tiny inner facets will fail.
It warns you.However the permutations of paths and diameters make it awkward to trap all situations - letting the user use their brains is good idea [IMHO]...
The scaling up temporarily is a well known workaround for such potential problems, applicable in many situations... -
Thanks for this Plugin, it has made a huge difference in time to create piping schematics. I am trying to create elbows. I first tried creating arcs, and that works but difficult to create consistent configurations. I am now trying Fredo Corner and not having any luck. Can you suggest a method that would produce consistent elbow configurations. Thanks.
-
@ct103stu0 said:
Can you suggest a method that would produce consistent elbow configurations. Thanks.
Can you share an example .skp file that shows what you are trying to do?
What version of SketchUp are you using? Is it still SU8 Free/Make as your profile indicates?
-
plugin not working in 2019 version
-
@rehman1212 said:
plugin not working in 2019 version
It does work in SketchUp 2019. Share your model so we can see what you are working with.
Advertisement