Line length determines linetype scale

Line length determines linetype scale

Anonymous
Not applicable
4,150 Views
22 Replies
Message 1 of 23

Line length determines linetype scale

Anonymous
Not applicable

Hello again everyone,

Sorry to take advantage of all the talented members here by asking another question so soon but this one's been bugging me for a while.

My firm works exclusively in model space and without any sort of annotation related scaling etc.  On floor plans we use one of the standard ACAD dashed lines to show the lintels over the windows.  We have a linetype and layer (LintelNew) set up to do this.  This linetype basically displays as a long dash, gap, short dash, gap, long dash.  So there's three segments per line.  Looks sort of like this: (--------    ----     --------).

My issue is that in order to get the dashed line style to look like that, with only three segments showing, I need to change the linetype scale via the properties panel as each lintel is a different length (for different window sizes).  For example, to get that line to show as desired on a short lintel, its linetype scale might need to be .3, where a larger lintel will require .9.

I cannot make any sorts of global changes as it is only these specific lines that need tweaking; they're the only lines where we ever change the scale.  Selecting them one by one and doing it in the properties is a major pain and involves a lot of guessing and checking.

I am wondering if anyone might know of a way where the line length and linetype scale could be related..?  For example, the linetype scale is connected to or driven by the length of the line?  To put it another way, the scale becomes a percentage of the line length.

As I am typing this I'm also realising that I would only ever want this to happen when drawing lintels and on that specific 'lintel' layer.  I dont want that scaling effect in action for every line I draw.

Not sure if this is even possible so please ignore if I'm asking the impossible here.

 

Thanks for reading everyone.

 

Brad

 

0 Likes
Accepted solutions (2)
4,151 Views
22 Replies
Replies (22)
Message 21 of 23

ВeekeeCZ
Consultant
Consultant

One more suggestion... You might have a dedicated tool just to draw lintels... Correct layer, correct ltscale right away.

 

Here are two versions of the same. The first one asks for 2 points... the second mimics the line command - endless point setting ended by the user. The first one requires minimum clicks. But many users, me included, are so used to the pt-pt-end workflow that changing this might cause more troubles than benefits.

 

(defun c:LINTEL ( / p1 p2) ; just 2 points
  
  (if (and (setq p1 (getpoint "\nLINTEL Specify first point: "))
	   (setq p2 (getpoint p1 "\nLINTEL Specify end point: "))
	   )
    (entmake (list (cons 0 "LINE")
		   (cons 10 p1)
		   (cons 11 p2)
		   (cons 8 "LINTEL-NEW")
		   (cons 48 (/ (distance p1 p2) 3000)))))
  (princ)
  )


(defun c:LINTEL2 ( / p1 p2)  ; the LINE command alike... 1st - 2nd - end

  (if (setq p1 (getpoint "\nLINTEL Specify first point: "))
    (while (setq p2 (getpoint p1 "\nLINTEL Specify next point: "))
      (entmake (list (cons 0 "LINE")
		   (cons 10 p1)
		   (cons 11 p2)
		   (cons 8 "LINTEL-NEW")
		   (cons 48 (/ (distance p1 (setq p1 p2)) 3000))))))
  (princ)
  )
0 Likes
Message 22 of 23

Anonymous
Not applicable

You've been so generous with your time, staying with me on this BeekeeCZ

 

 

 

0 Likes
Message 23 of 23

Kent1Cooper
Consultant
Consultant

For a related routine with some nice features [but not your linetype scaling aspect, which could be added easily], try BeamLineLabel.lsp, with its BEAM command, available >here<.  You will want to find the Style and Layer commands and choose your preferred font and linetype and color and so on, but as it is, it does these kinds of things:

BEAM.PNG

There's another version >here< that uses a Polyline instead of a Line, so you can give it weight-width that way, and the Message there describes where to find the things you would want to edit for your preferences [not so marked in the one at the first link].

 

It draws the Lines and  the Text [you provide the content], which it centers over the Line [and at more plan-readable direction when at other angles].  It handles the Layer setting for each, and creates the Layers if they are not already in the drawing.  And  it automatically does the embedment into a Wall and the falling-a-little-short at a Post --  you tell it whether you want to go from Post to Post, Post to Wall, Wall to Post, or Wall to Wall.  I did not  pick at the endpoints of those Lines, but picked at QUAdrant points of the Circles, PERpendicular to the wall from one of them, and the MIDpoints of the wall opening edge Lines, and the routine figured out the actual Line endpoint locations.

 

Note that for me, the CENTER linetype is preferable, and more than one gap-dash-gap cycle is acceptable [the longer beam line], but your scaling for one such cycle, no matter what the length, can easily be incorporated.  [One reason I prefer my way is that the size of the inner dashes and gaps is always the same, but those can differ widely in yours, making the "look" of beam and lintel Lines too variable for my taste.]

Kent Cooper, AIA
0 Likes