Author Topic: Can it be done?  (Read 304 times)

0 Members and 1 Guest are viewing this topic.

sln8458

  • Newt
  • Posts: 82
  • CMS Intellicad 9.0/10.0
Can it be done?
« on: March 18, 2021, 05:44:55 AM »
OK, so I have had an inquiry from a client regarding some 3D modelling, that's fine I can do that. However I will be required to create a 3D solid based on a selection of objects in the model at a defined radius.

Simple example would be a vessel with dished ends and flanges, then add the 3D solid at a 2mtr radius and a second at 3mtr radius.

The goal would then be to select all of the associated pipework and do the same until everything had been selected & then Join all of the 2mtr radii solids into one entity, followed by the 3mtr radii solids. However there is a small wrinkle here in that the new solids should not have any inlets. By that if you consider 2 circles touching they for a figure '8', I need them to form an '0'.

Would it be possible?
There is no such  thing as a 'silly question' to those who do not know!

kirby

  • Newt
  • Posts: 40
Re: Can it be done?
« Reply #1 on: March 18, 2021, 11:47:20 AM »
Hi

We regularly do this to generate stage-storage volume curves for complex pipe and tank arrangements for use in hydraulic models.  Just keep using the Union command to combine 3d solids (and Subtract to remove interior tank baffle walls, etc.).  A lisp application helps to make successive horizontal slices (SECTION command) to create vertical sections of the combined 3D solid at known elevation intervals, and writes the stage-storage curve.

Our pipes start life as 3D lines, converted into 3D solid cylinders using SWEEP, REVOLVE, EXTRUDE commands.  Original linework joins, so resultant solids can be combined using UNION.  Oftentimes small transitions must be added for more complex connections (e.g. bellmouth or reducer type offtakes joining tank and piping)

Not sure if this is what you are after; A drawing or sketch of your desired input and output would help.

 Regards,

sln8458

  • Newt
  • Posts: 82
  • CMS Intellicad 9.0/10.0
Re: Can it be done?
« Reply #2 on: March 19, 2021, 03:20:31 AM »
Thanks for the reply Kirby.

I will sort out some examples during the day and post.
There is no such  thing as a 'silly question' to those who do not know!

sln8458

  • Newt
  • Posts: 82
  • CMS Intellicad 9.0/10.0
Re: Can it be done?
« Reply #3 on: March 19, 2021, 06:23:08 AM »
Here is an image of a simple offshore Gas Platform I have worked on in the past. I have a full 3D cad model with ALL xrefs.
 

Here is a close up of one of the vessels:


So what I would like to do is by selecting the item, the light blue pipe, the black pipe, the bund and the vessel create a 3D solid of each item at a 2mtr radius from the item surface. The new solids will be on a defined layer (in this case 'Grade B')

Here is what I expect the light blue pipe would look like:


To generate this I have added new solids of the straight pipe & spheres at each end of the 2 elbows & joined them all into one new solid. I used spheres as the small radius of the elbows prevented a single circle from being extruded!!

S.
« Last Edit: March 19, 2021, 06:26:48 AM by sln8458 »
There is no such  thing as a 'silly question' to those who do not know!

kirby

  • Newt
  • Posts: 40
Re: Can it be done?
« Reply #4 on: March 19, 2021, 01:06:15 PM »
We use a similar offset 'buffer' for infrastructure interference or to see if works between one subtrade will conflict with another subtrade, but this is 2d only.

The need for a radial offset buffer really complicates the requirement, especially the hemisphere/bubble endcaps or 1/4 sphere 'corner' for a box solid.  Would a union of rectangular bounding box work in this situation? (maybe moot if you get to that point) 

To busy to code today, but procedure might be:
- Select a subentity 3dsolid (this is the hard part, I don't work with 3D enough to know if you can decrypt a solid into original entities. Boy easy if you have the individual items)
- Get entity ucs.  This would define the principle axis.  However, no good if you have an entity with a lot of twists and turns
- Get bounding box coordinates of entity  (see Marko Ribar's procedure here https://www.theswamp.org/index.php?topic=51384.msg565073#msg565073 )
- Nudge coordinates away from each other, with respect to entity UCS
- Make '3dbox' solid in entity UCS

Then reset to WCS and union all the 3d boxes.