Jump to content

Multileader Style Manager


Recommended Posts

Posted

Setting up a custom Multistyle Leader.

Following the step by step instructions in help.

I have successfully accomplished the setup, except for one small problem.

I want to have a space between the text and the leader rather than the default of no space. In the Multileader Style Set up window. On the Leader Structure Tab is a window to set Landing Distance I have this set to 1 inch.

On the Content Tab there is a setting titled Landing Gap, Which I have set at

1". I have given a name to the custom leader.

 

The gap still does not appear between the text and leader line on the drawing.

I did discover, looking around in the properties window, under the text heading there is Line Space Style drop down box. With a selection default of "At Least".

I opened the drop down box and there is another selection of "Exactly" "What the heck, I thought, what have I got to loose." So I clocked on "Exactly" and closed the properties window. There was now the gap between the text and the leader.

How ever the problem is when another a new leader is opened, the gap is not there. I have to open the properties window and reset the Line space style again.

 

Anyone know what I am missing?

Thanks.

 

P.S. Does anyone know what the Set Landing Distance is? When I set it ti 1" I did not see any change.

Posted

If I understand what you want... the distance between the Landing Line and the text, it should be the Landing Gap (see image). The Line Space Style should have nothing to do with the Landing Gap distance, it pertains to the vertical spacing between lines of (m)text.

Also, be sure that your new/modified Multileader style is set current

Drawing1.jpg

Posted (edited)

Yes, After setting up the new Leader style. I gave it a name, high lighted the the new name, and set as current. Then clicked ok to close the window.

I then have to open the properties window, under the text heading there is Line Space Style drop down box. With a selection default of "At Least".

Clicking on the drop down arrow there is a selection of "Exactly". clicking on that to make it current the the space is there.

How ever when I close that instant of the Multileader, then open another instant of Multiline. The Line Space Style is reset to "At Least".

I have to open the properties window and reset the Line Space Style to "Exactly"

 

P.S. thanks for the explanation of Landing Gap.

 

Multileader Style.jpg

Edited by Ollie8974
Posted

Unfortunately there's no such setting in the ML style. That setting in the properties palette actually refers to the spacing between the lines of text in the MText entity of the MLeader. To see what it does create a MText with multiple lines and add some large characters and/or those with portions below the normal baseline (e.g. / ( ) g y). Copy the MText and set the new copy's Line spacing style to "Exactly". Not the one set to "At least" grows the lines when there is one of these characters protruding beyond the base-line. The Exactly ensures that all lines are equally spaced, irrespective of having such characters or not.

 

Actually what you've found in MLeaders is not an intended feature. You'll get the same effect by simply placing one of these characters into the MLeader's text - thus the At Least is grown - and moves the baseline up. The Exactly simply moves the baseline up without the need for one of these special characters.

Posted

In post #3 I state

"I then have to open the properties window, under the text heading there is Line Space Style drop down box. With a selection default of "At Least".

Clicking on the drop down arrow there is a selection of "Exactly". clicking on that to make it current the the space is there.

How ever when I close that instant of the Multileader, then open another instant of Multiline. The Line Space Style is reset to "At Least".

I have to open the properties window and reset the Line Space Style to "Exactly""

 

My question is how can the default be set to "Exactly" ?

Posted

I have a lisp routine that fires based on a reactor that changes it, perhaps a simpler routine that modifies the multileader command could do it for you.

Posted
My question is how can the default be set to "Exactly" ?
That's just it, you "can't" ... not without modifying the MLeader / MText after creating it. Ccowgill's code might work with some mods, as it does this "automatically" after you've created a MText.
Posted

Thank's guys.

CCowgill could you post your lisp? I was also thinking of trying a Dynamic block?

I was just looking in the help file it looks like that would work.

Right now I have to go to a meeting. be back in two or three hours.

Posted

forgive the below codes, they are cut from some other pretty extensive programs, and I may have cut too much out, or not enough.

 

(defun mleaderspfac    (/ obj objent objentdata vlaobjent)
     (if (setq obj (ssget "_L" '((0 . "MULTILEADER"))))
   (progn
     (setq    objent       (ssname obj 0)
       objentdata (entget objent)
       vlaobjent  (vlax-ename->vla-object objent)
     ) ;_ end of setq
     (if (/= (cdr (assoc 290 objentdata)) 0)
       (if
         (= (vlax-get-property vlaobjent 'TextLineSpacingStyle) 1)
          (progn
        (vlax-put-property vlaobjent 'TextLineSpacingStyle 2)
        (vlax-put-property vlaobjent 'TextLineSpacingFactor 1)
          ) ;_ end of progn
       ) ;_ end of if
     ) ;_ end of if
   ) ;_ end of progn
     ) ;_ end of if
   ) ;_ end of defun

is the code I use to adjust the space factor, it is attached to a command ended reactor:

(if (not Command_Ending_Reactor)
 (setq    Command_Ending_Reactor
    (vlr-command-reactor
      nil
      '((:vlr-commandended
         .
         Command_Ended_Command
        )
       )
    ) ;_ end of vlr-command-reactor
 ) ;_ end of setq
 () ;_ the reactor is already loaded
) ;_ end of if

(defun Command_Ended_Command (In_ReactorName In_Command / LayObj tess)
                     ;(alert (car In_Command )) ;; <-- Remove this line, it shows all incomming command
   (if (= (car In_Command) "MLEADER")
             (mleaderspfac)
   ) ;_ end if
);_ end defun

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...