- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
I have a weld database outside of Plant 3D that is used for field reporting (a simple mobile CRUD app). I created a C# Plant 3D plugin that sets all welds in the Plant 3D model to a unique ID (I just copied the PnPID to the weld number field). This allows my client to match our database records (which have PnPID in one of the fields) with the model welds. Using this method, we can show weld progress on the model.
My question is: How can I force the weld number or the PnPID weld property from the model to be saved as a property of the weld symbol (block) on the isometric drawing? I want to automate the same type of visual progress report on the isometric as we are doing on the model.
As far as I can tell, the weld blocks have no data that associates them with anything on the model.
Some things I tried that did not work:
I added the weld callouts in Isometric settings (just to get the 2D coordinates) but my client is using OUR weld numbers in their records. They want me to create temporary weld callouts that show OUR weld numbers and completion date, WPS, Welder ID, etc. They also want clean drawings for IFC without weld numbers so they want Isometric weld callouts turned off. They want to run a command to view the progress, maybe plot the drawing to PDF and then exit without saving or run another command to delete the temp callouts.
I tried scraping the weld numbers from the source PCF file and mapping them to the iso weld blocks in numerical order but the iso weld blocks do not appear in numerical order of the PnPID.
I also tried adding them to the weld blocks in order of appearance. This failed because weld blocks on an iso are not always in the same order as in the source PCF (especially with field welds/field-fit welds).
I started creating a matrix of 2D coordinates that were isometrically projected from the 3D weld coordinates and checking which arrangement fits best. This failed because the isometrics are not drawn to scale and there are edge cases where the best fit (shortest 2D distance) is wrong. This is especially true with headers with multiple risers or downcomers.
Reading the forums here it seems like iso generation is a black box. Maybe there is something that I am missing? Maybe there are docs on iso generation?
Solved! Go to Solution.