Linetype CONELINE

Trying to think of a way to do our flow lines for grading plans.

What slick ways are people doing flow lines for grading plans, I can think of two approaches as follows:

a) LINETYPE FILE APPROACH
Is there an easy way to create a line type with a cone spaced along a polyline?

b) LISP APPROACH
I have a LISP function that will repeat an object on a line, that's pretty close. It needs to obviously rotate it correctly. Does anyone know of a routine that generated cones/arrows on a line and are rotated correctly down the line?

Comments

  • A line type can contain a shape a SHX so make a linetype with a linked arrow.

    *INVERT_ARROW,Drain invert arrow -----<--------
    A,20,[INVERT_ARROW,Custom.shx,s=0.25],20

    Or the simplest is this
    *ARROW,Arrow ---------->---------->---------->----------
    A,10,-1.5,[">",STANDARD,S=1.8,R=0.0,X=-.9,Y=-.9],-1
  • ALANH said:

    A line type can contain a shape a SHX so make a linetype with a linked arrow.

    *INVERT_ARROW,Drain invert arrow -----<--------
    A,20,[INVERT_ARROW,Custom.shx,s=0.25],20

    Or the simplest is this
    *ARROW,Arrow ---------->---------->---------->----------
    A,10,-1.5,[">",STANDARD,S=1.8,R=0.0,X=-.9,Y=-.9],-1

    Thanks for the reply. I have a couple questions..

    1. For the simplest I see the "---------->---------->---------->----------" is maybe just for a text description that will list in the drop-down box, because when I doubled the "----------" part, the arrows did not space any differently. Right?

    2. How do I make a .SHX file? I tried creating a block and referencing that block in the line type but that did not work for me unfortunately. I see there is one .SHX file and I'd like to put a specific shape in that file and reference it

    3. you have "Custom.shx" in the 1st example above, that file doesn't exist, you're assuming I knew how to create a shx file, with my shape in it, and I name it "Cusom.shx", correct?

    Thank you!
  • Anthony Apostolaros
    edited May 2023
    *ARROWS,Arrows -> -> ->
    A,2,[ZIG,ltypeshp.shx,r=-90,x=-0.25,y=0.25,s=0.25],-.3
    (ltypeshp.shx comes with Bricscad)

  • *ARROWS,Arrows -> -> ->
    A,2,[ZIG,ltypeshp.shx,r=-90,x=-0.25,y=0.25,s=0.25],-.3
    (ltypeshp.shx comes with Bricscad)

    That was fairly decent. I mean that'll probably work. I was aiming for a cone that was filled solid, if that isn't possible then I can settle here. Thank you for the help you gave in this reply!
  • Anthony Apostolaros
    edited May 2023
    Here's something that should work but doesn't. At least not for me in my older version of Bricscad.

    *ArrowsBlack,----►----►----►----►----►----►----
    A,4.8,["►",Arial,S=1,R=0.0,X=0,Y=-.375],-1.2

    I don't understand why it doesn't work. I can use that black arrowhead character in a text or mtext, in any of my standard text styles. But in a line with that linetype I get â–° instead of ►.

    You might try it, and try it with other text styles besides Arial. Or you could try other solid triangle characters. The Wingdings3 character that looks like that didn't work at all for me. I couldn't even put it in this forum thread. The attached file explains the rules for making complex linetypes.
  • ALANH
    edited May 2023
    Easy answer the Arrow is a text character and depends on the font when you get into extended characters. I pasted arrow from here into text and got "?". Checked text style font was Romans changed text style font to Arial and now text arrow works.

    Make sure your Arial textstyle is set to Arial font. Line type not tested.


  • Anthony Apostolaros
    edited May 2023
    ALANH said:

    Easy answer the Arrow is a text character and depends on the font when you get into extended characters. I pasted arrow from here into text and got "?". Checked text style font was Romans changed text style font to Arial and now text arrow works.

    Make sure your Arial textstyle is set to Arial font. Line type not tested.

    Yes, I understood that the arrowhead is a text character. I created that linetype definition, using that character because it's the solid arrowhead that the OP wanted.

    My text styles are all named after the Truetype font used. I never use SHX fonts, or override the style/font in mtexts. As I said before, the solid arrowhead text character works in texts and mtexts in all the styles/fonts that I normally use -- Architxt, Verdana, Arial, ArialBlack, TimesNewRoman, and Calibri.

    I would be curious to know whether that linetype works in a newer version of Bricscad. Or to learn why that character works in texts and mtexts in the same .dwg file but not in a linetype definition.
  • *ArrowsBlack,----►----►----►----►----►----►----
    A,4.8,["►",Arial,S=1,R=0.0,X=0,Y=-.375],-1.2

    "I get undefined linetype." When I try to load it. :/ I have Arial font selected... hmmm.


  • Could not get it to work it may be that line types don't support extended characters, you can make a shx and use that.
    A different can of worms.
  • ALANH said:

    Could not get it to work it may be that line types don't support extended characters, you can make a shx and use that.

    Yes, that's probably the reason. Though apparently Acad can use extended characters in linetype definitions. There's a YouTube video showing a linetype being created with that same Arial character.

    I personally can't make an SHX file, but maybe the OP can. There's supposed to be an MKSHAPE command in Express Tools, which apparently creates an SHX file from geometry that you've drawn in a DWG file. It should be easy to draw the desired arrowhead, and then convert it to SHX. But MKSHAPE doesn't work in my v17 Express Tools. Maybe it only works with a Pro version of Bricscad. I can't find any information online on any other way to create an SHX file.
  • Anthony Apostolaros
    edited May 2023
    I may have found the format for shape files. I read something that said a shape is a series of pen strokes, with each stroke defined by a two-digit hexadecimal number. The first digit of each number is the length of the stroke (1 to F=15 drawing units), and the other digit is the direction:

    If that's correct, the shape used in my Arrows linetype above could be 1E 12. But I don't see that in a hex dump of ltype.shx, nor anything else that looks like it could work, at least not in the vicinity of the word ZIG:

    I think it would be easier to create a custom Truetype font by copying an existing font and editing one of the glyphs (">" for example, which is not an extended character) to create the solid black arrowhead. I've created and edited glyphs before, a long time ago, and I remember it as being pretty easy if you're only working on a few individual glyphs that don't have a lot of curves. And I made a custom version of the Stylus font, without that giant blank space after the 1-digit.
  • See https://help.autodesk.com/view/OARX/2023/ENU/?guid=GUID-DE941DB5-7044-433C-AA68-2A9AE98A5713 for details on SHX files. BcadTools, available in the Bricscad app store, has a SHP to SHX compiler.
  • There is also a good tutorial for creating shapes at https://www.bricsys.com/blog/decoding-shapes-and-fonts-customizing-bricscad-p19

    You will probably need a copy of dumpshx.exe, which is the decompiler for SHX to SHP that is/was part of the AutoCAD Express Tools.
  • You could try something like this as a linetype:

    *ARROW,Arrow --->----->----->----->----->----->----->----->----->----->---
    A,2,[TRACK1,ltypeshp.shx,s=.25],.012,[TRACK1,ltypeshp.shx,s=.24],.012,[TRACK1,ltypeshp.shx,s=.23],.012,[TRACK1,ltypeshp.shx,s=.22],.012,[TRACK1,ltypeshp.shx,s=.21],.012,[TRACK1,ltypeshp.shx,s=.20],.012,[TRACK1,ltypeshp.shx,s=.19],.012,[TRACK1,ltypeshp.shx,s=.18],.012,[TRACK1,ltypeshp.shx,s=.17],.012,[TRACK1,ltypeshp.shx,s=.16],.012,[TRACK1,ltypeshp.shx,s=.15],.012,[TRACK1,ltypeshp.shx,s=.14],.012,[TRACK1,ltypeshp.shx,s=.13],.012,[TRACK1,ltypeshp.shx,s=.12],.012,[TRACK1,ltypeshp.shx,s=.11],.012,[TRACK1,ltypeshp.shx,s=.10],.012,[TRACK1,ltypeshp.shx,s=.09],.012,[TRACK1,ltypeshp.shx,s=.08],.012,[TRACK1,ltypeshp.shx,s=.07],.012,[TRACK1,ltypeshp.shx,s=.06],.012,[TRACK1,ltypeshp.shx,s=.05],.012,[TRACK1,ltypeshp.shx,s=.04],.012,[TRACK1,ltypeshp.shx,s=.03],.012,[TRACK1,ltypeshp.shx,s=.02],.012,[TRACK1,ltypeshp.shx,s=.01]
  • Why not just
    *SUBSOIL_DRAIN_RIGHT,Subsoil drain right ---->---->---->---->---->---->--
    A,40,-5.08,[">",STANDARD,S=1.8,R=0.0,X=-1.8,Y=-.9],-3

    Trying to get mkshape to work
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. Click one of the buttons on the top bar to get involved!