Navisworks no option to get centerline measurements on pipes

Navisworks no option to get centerline measurements on pipes

jacquesP5H2G
Participant Participant
1,672 Views
8 Replies
Message 1 of 9

Navisworks no option to get centerline measurements on pipes

jacquesP5H2G
Participant
Participant

Hi Members

 

We are big users of Navisworks and I often recommend Navisworks freedom to clients but one client asked me how to measure pipe centre line distances and I read the forums and almost cannot believe there is not a 1 way solution to do this.

 

The method for shortest distance seems like a good route to a solution but now the user has to calculate pipe sizes and then add pipe radius to find the actual measurement?

 

and the other solutions to hide elbows to get the actual measurement does not seem like the most elegant solutions.

 

I am mentioning it here because I am a big fan of the software but a small detail like this makes users not use this solution so please advise if I have something wrong here.

0 Likes
1,673 Views
8 Replies
Replies (8)
Message 2 of 9

cation234ctci
Contributor
Contributor

Hi Jacques,

Excuse me for my late response. I was trying to tackle this problem as well and have a working solution to share.

The problem that Navisworks cannot make pipe centerline measurement is because: Navisworks has no concept of shapes at all. What you see as a straight pipe, elbow, or tee, is just a group of meshes that happens to look like a pipe component, but this means nothing to Navisworks.

My approach is: instead of focusing on the Navisworks model itself, I incorporate the data of piping isometric drawings into Navisworks to reconstruct the centerlines and key points of each pipe component, and write my own tool plugin to make the measurement.

As you can see in my video, I make the look and behavior of my own measurement tool as identical as possible to the native one of Navisworks. With the key points of pipe component, I can even make measurement from the floating elbow point, which is virtually impossible to locate with native Navisworks tool.

(view in My Videos)

Message 3 of 9

jabowabo
Mentor
Mentor

@cation234ctci This is really nice work! Great job!

Message 4 of 9

cation234ctci
Contributor
Contributor

@jabowabo  Thanks a lot. With the help of pipe centerline, so many possibilities could be achieved.

Message 5 of 9

alexisDVJML
Collaborator
Collaborator

Wahoo!

Even more impressive than your previous post!
You implemented what I had in mind and never dare yet to tackle: recreating the semantic of the flow. Love your yellow arrowed paths!!
Very elegant solution both re: data source of truth (isometric) and rendering.
Man-years of hard work for sure and excellent skills!!

Huge Question:
How do you get the isometric as usable data?
Typically when we lucky to get isometrics from our customers they are just PDF near impossible to programmatically use.

I implemented the first stages of another approach in our plugin:
1/ Getting parts line information
- use PDMS properties attached to items if any
- combine with item names  to match line details provided as an excel file
2/ Analysing geometries
- use item geometry tesselation to reconstruct the semantic geometry (for now only cylinder) and confirm pipe and insulation size
It's working but:
- kind of brittle
- still missing other type of parts that are harder
- still missing the flow direction

Hope we can find an opportunity to collaborate one of these days (and not just to share a drink haha)

Main Scientist, Full Stack Developer & When Time Permits Director of IDIGO ► On your marks, Set, Go
Message 6 of 9

cation234ctci
Contributor
Contributor

Hello Alexis,

Thank you guys for appreciating my work, people with sense of piping or process design will understand how huge it is. Please allow me to brag a little bit, the rendering is really beautiful when you look at it.

(view in My Videos)

 

I believe some of us have tried to reconstruct pipe centerline from info of Navisworks models, I've tried it myself, too. Cylinders are ok. Elbows and tees, maybe. However, a simple valve with spindle or weird shaped instrument will defeat the purpose easily. Even with elaborate geometric analysis to get the job done (which I doubt), it will be computational intensive and not practical. Extract data directly from PDF is also out of the question.

Then I noticed: when Smart3D (S3D, formally SmartPlant 3D), which we use extensively internally, generates ISO drawings with ISOGEN, it will also generate a corresponding PCF file and XML file that fully describe the drawing, literally all the isometric data you want:

ISOGEN Product.png

 

If you are familiar with PCF, you'll know that it is quite difficult, but not impossible, to parse. XML file, on the other hand, is well structured and easy to parse. What you saw in my video is simply the reconstruction of these XML files. No Navisworks model info involved. Take a valve in the XML for example:

ISO Valve.png

 

And flow direction arrow:

ISO Flow Arrow.png

 

In other words, I obtain isometric data directly from S3D and ISOGEN. But how about E3D or AutoPLANT? Out of the box they can't generate the mentioned XML files, not even the PCF files as far as I know, only S3D will do so. However, E3D has macro language PML and AutoPLANT does provide API for extensibility, so with proper customization, they might achive similar result. It doesn't even have to be the same XML file, just key point coordinates and dimensional info of the piping components will suffice.

Currently I'm not available for collaboration, but I'm willing to discuss ideas.  😛

Message 7 of 9

jabowabo
Mentor
Mentor

@cation234ctci wrote:

 

In other words, I obtain isometric data directly from S3D and ISOGEN. But how about E3D or AutoPLANT? Out of the box they can't generate the mentioned XML files, not even the PCF files as far as I know, only S3D will do so.


I've written some dimension utilities that rely on centerlines and port coordinates. Plant 3D does produce .pcf files, but I use the Plant 3D API to embed the 'port' point coordinates into a custom property in the .dwg file. Then I use the Navisworks API to parse them for use for dimensioning. Your use of the graphics API is masterful though! Can you give a hint on how you make the graphics selectable with a mouse click? I didn't know that was possible.

 

QF Dimension.gif

Message 8 of 9

cation234ctci
Contributor
Contributor

@jabowabo wrote:
Can you give a hint on how you make the graphics selectable with a mouse click? I didn't know that was possible. 

 

The principle of my clickable 3D sketch is simple, it's just classical ray casting. Every sketch could be described or approximated by one or more 3D line segments. When I click in the model space, I cast a ray from where I clicked, and if the ray touches any line segment then a successful click is detected.

This shows the ray casting in action when it is rendered explicitly, and this is as far as I can show you what is going on.  🤐

(view in My Videos)

Message 9 of 9

jabowabo
Mentor
Mentor

@cation234ctci wrote:

The principle of my clickable 3D sketch is simple, it's just classical ray casting. Every sketch could be described or approximated by one or more 3D line segments. When I click in the model space, I cast a ray from where I clicked, and if the ray touches any line segment then a successful click is detected.

This shows the ray casting in action when it is rendered explicitly, and this is as far as I can show you what is going on.  🤐

 


Amazing! Thank you!