Seeking advice for complex linetypes in 3D models.

Since, for now, I am using just stock BricsCAD for my 3D modeling of a piping system, I continue to explore various options.  

In the past, I may have used linetypes for piping runs if they were 2D.  For 3D, I was planning on using extruded solids along the centerline I created as 3D polylines. But, 3D polylines do not have linetypes, nor do extruded solids work with linetypes, because if I have hidden lines shown as dashed, the dashed tessellation lines in the solids obscure what the linetype is.

My solution was to use color to distinguish the various pipe runs. On some views I use the centerlines, and on others I use the solid extrusions, depending on how I want the view to render with hidden lines, etc.

But, my engineer now tells me that he wants the text in the lines, since the pipe installer has difficulty with the color. Note that the drawing was created on D-sized paper, but they have been giving the installers only B-size - so the drawing they are using is really too small anyway.

So, now we are back to needing linetypes, and since they want the text label on the line, I need to use a complex linetype. E.g.  
---HOT GAS-------HOT GAS------HOT GAS----

This means I must abandon the 3D polylines I am now using for centerlines.  I can simply explode them, and then if I need to recreate the solid extrusion, I will use a utility to merge the lines back into a 3D polyline.

But, my current issue is that the text in the lines is not visible in both the front and top views, since the text is sometimes oriented wrong.  Ideally, the text would automatically align itself to be as flat to the current view as possible, but that doesn't seem to be possible.

Something that puzzles me, is how the text gets oriented when I explode the 3D polyline.  Sometimes the text is orthogonal to the standard planes, but other times it seems to be oriented to my current view.  I am not clear what controls this.

I realize I can create the various views manually, as it would have been done in the days before 3D modeling. But, I am still hoping I can maximize the use of my 3D piping model.  Does anyone have any advice about how to approach this?

-Joe

Comments

  • The generation of complex linetypes for lines in 3D space is based on the start and end point of the line and on the normal of the line.
    To change the normal so that it matches the Z direction of the current UCS you can use something like this Lisp code:
    [code](defun c:ChangeNormal ( / ent elst)
      (if (setq ent (car (entsel)))
        (progn
          (setq elst (entget ent))
          (entmod
            (subst
              (cons 210 (trans '(0.0 0.0 1.0) 1 0 T))
              (assoc 210 elst)
              elst
            )
          )
        )
      )
      (princ)
    )[/code]
  • Have not tried but what about mapping a texture with text to the pipe ??
  • Maybe worth playing with.
    imagepipe.jpg
  • @ Joe:
    It may be worth looking into using the _FLATTEN command. Although it does not provide the automatic alignment you seek it may work for you.
    Possible work flow:
    1. Switch to paper space and activate a viewport.
    2. Create a copy of the 3D model for the viewport.
    3. Set the UCS to match the view in the viewport.
    4. Use the _FLATTEN command on the copied entities.
    5. Move the new entities to a dedicated layer.
    6. ...
  •  Thanks for the suggestions.  The texture is interesting, but at the scale of the overall facility, text would be far too small. But, I will keep it in mind for close-up illustrations.

    Mr Gebbinck, I suspected that there would be a LISP routine out there to rotate the lines. Thanks for making it so convenient.

    I am still curious how an exploded 3D pline gets its orientation for the segments.  Some text is orthogonal to the main plains.  But, others are at a 45 degree angle.

    -Joe
  • Roy is propably right you dont explode anything just make a 2d projection on a plane. You can make any views you like then map lines by layer.
  •  I just changed a line with a complex linetype to a new layer and suddenly the text orientation changed, as though the line had been rotated.  With further investigation, I discovered that the text "normal" rotates with respect to the current view at each regeneration.  The text may be upside-down, but at least BricsCAD tries to make the text visible to the user. 

    I just wish this behavior was known before, so I would not have gone through all my efforts to rotate the text to make it visible in the correct view!

    -Joe
  • Thanks for pointing that out Joe. Indeed it is not the normal that controls the generation of the line type. My code only appears to have an effect because it changes the entity, similar to changing its layer. Like you I was fooled by that. Sorry about the confusion.
  •  I spoke too soon.  I am attempting now to merge quantum theory with BricsCAD complex linetypes.  You can only know one fact about them at a time, and as soon as you know that fact, the other facts about it become unknown. 

    Only SOMETIMES does regenerating the view cause the orientation of the text to change.  You might think this would be when you are not in an orthogonal view, when the optimum orientation is vague.  But, that is not the case.  Orthogonal views may or may not change the orientation when regenerating.  You are sometimes left with text that is being viewed on edge, and therefore unreadable.

    -Joe
  • Where are you getting your complex linetype definitions from? Does the text orientation change with some linetypes or all? In AutoCAD you have three options for text rotation U=value, R=value, or A=value. The U option allows the text to be orientated to a specified angle relative to the current view. Last time I checked (V14) BricsCAD ignored this value, generating an error if you tried to use it. Would obviously be nice if BricsCAD provided support for this.

    Perhaps you can use a symbol instead of text? I found that this can be easily done using truetype fonts rather than trying to create my own shapes. You may find some that are readily identifiable no matter the orientation.

    Regards, Jason Bourhill CAD Concepts 
  •  Jason, your message didn't render in a readable way in my browser.  I have had occasional issues with trying to use any sort of formatting on this forum, and eventually decided to stop trying to use any formatting.  Please repost with no formatting if you can.

    I also have some more bad news for BricsCAD v14 and complex linetypes.  The Y value of the text location is sometimes ignored.

    -Joe
  • Yes, the crudity of formatting is exasperating. As is submitting a post only to find that you have been logged out losing the contents of your message.

    Try again

    Where are you getting your complex linetype definitions from? Does the text orientation change with some linetypes or all? In AutoCAD you have three options for text rotation U=value, R=value, or A=value. The U option allows the text to be orientated to a specified angle relative to the current view. Last time I checked (V14) BricsCAD ignored this value, generating an error if you tried to use it. Would obviously be nice if BricsCAD provided support for this.

    Perhaps you can use a symbol instead of text? I found that this can be easily done using truetype fonts rather than trying to create my own shapes. You may find some that are readily identifiable no matter the orientation.

    Regards, Jason Bourhill CAD Concepts 
  • Somehow lost the link to custom linetypes this time.
    Reference to custom linetypes

    Regards, Jason Bourhill CAD Concepts 
  •  In my case, the text that is suffering from the ignored Y value is only having that problem sometimes. It did not initially have the problem in the same drawing, but at some point it decided to ignore the y value, and regenerating the drawing would not fix it.  But, if I copy the line and paste it into a new empty drawing, the problem fixes itself.  When I opened the problem drawing today, the text y-value problem was fixed.  Also, all the text that steadfastly refused to align itself to my viewport yesterday are now arranging themselves so they face me.  I know this problem survived through multiple restarts of BricsCAD.  But, apparently rebooting the computer solved the issues (at least for now).

    For reference, here is one of the line definitions I am using;
    *COLD_WATER,Cold water supply ---- CW ---- CW ---- CW ----
    A,1,-0.12,["CW",STANDARD,S=0.09,R=0.0,X=-0.07,Y=-0.04],-0.15

    It really does seem that complex linetypes follow rules akin to quantum theory.

    -Joe



  •  I have yet more bad news for complex linetypes.  If you set the viewport to show obscured lines as dashed the text becomes highly pixelated.  In my case, it is so much so, that distinguishing S from 2, becomes impossible. If I change it to be "Legacy Hidden", the pixelation is reduced, but still there.

    Are these issues universal to the world of DWG editors nowdays, or unique to BricsCAD?

    -Joe
  •  A bit more info.  If you Export a PDF using BricsCAD's native export feature, and the viewport is set to anything but "legacy hidden" the text is so pixelated that it is completely unreadable.  If you do the same them set for Legacy Hidden, the text is smooth and readable. But, the orientation of the text is such that many of them are seen on edge, and therefore unreadable.  Also, it went back to the "ignore the Y value" mode.

    I guess the final rule is, "Don't use complex linetypes on 3D drawings because the results are unpredictable".

    -Joe
  •  I just checked the drawing using Autodesk's "true view" (as opposed to all those false viewers out there).  In that program, all linetype text is flat to the WCS, regardless of the orientation of the line. So, a vertical line has the text rotated very oddly.  Historically I don't know how they were displayed. I never used complex linetypes before.

    -Joe
  • I did re-discover how to submit a support request, and submitted one a few days ago. But, I have not heard back from Bricsys yet. Perhaps someone else can confirm for me how AutoCAD behaves in regards to complex linetypes.

    When I tested my drawing in Autodesk's TrueView, all text on the linetype is flat to the WCS, and cannot be changed. This looks really odd on vertical lines.  I really prefer how BricsCAD handles it, if BricsCAD would be consistent. 

    I have not worked with complex linetypes that have blocks inserted along the length. How do those behave in AutoCAD? How about in BricsCAD v14?

    -Joe


  • I recently tried to use some complex linetypes with embedded shapes.  These linetypes had worked in Acad 2002 to 2011.  Bricscad 15 would not read the file.  I am still hoping Bricscad may have documentation that would help me fix it, not found anything yet.
  • Having just read the helpful e-book 'BricsCAD for AutoCAD users' , I have tried again to use my complex linetypes, and they worked in BricsCAD !  It seems the problem was because my.lin and my.shx were in different folders, although both were listed in support folder path.  So now I have chains, railroads, fences etc again.
This discussion has been closed.