Visual LISP, AutoLISP and General Customization
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Some lisp modification for coordinate setting

23 REPLIES 23
SOLVED
Reply
Message 1 of 24
lai
Advocate
3515 Views, 23 Replies

Some lisp modification for coordinate setting

Hi all,  i just come across a lisp and i find it quite usefull,but then i wish to modify it abit and i need help as i am not a programmer and familiar with lisp. I have attach a sample of the lisp and jpeg to show what i require.basically all i need is the leader to be in multileader type. Is it possible? Additionally, can i set by default the coordinates to be shown in just 2 decimals?

23 REPLIES 23
Message 21 of 24
lai
Advocate
in reply to: Moshe-A

Hi Moshe,

sorry for late reply.I just try you new revise lisp..I would like to give some further more customization. I have prepare the attachment for your better understanding..I wish to have a lisp that can give me 3 options to choose...i will create my own button.

 

By the way, i notice when i once start your lisp, i get this msg..

 

Command:

Command: cxy3

leader style -> Row/Column <One>:  (I wish to eliminate this step in the revise lisp)

Leader 1st point:

Leader 2nd point:

Pick text location:  <Ortho on>

Command:

 

If there any doubts, maybe you can direct email me at lai@dre.com.my

Message 22 of 24
Moshe-A
in reply to: lai

Lai,

 

i have attached the new mxp.lsp (which is a cxy.lsp reviced). this version is much more sophisticated an flexible.

 

the program contains 4 autocad commands for your uses.

m2p, m2p-, m3p, m3p-

the number (of course) signifies the number of leaders points.

 

As you know?!  mleader objects are created base on mleaderstyle and it has a Landing property.

to accomplish your requests, the lisp is automaticlly creates two new mleaderstyles:

 

the first called Landing_off  (with no landing line)

and a second called Landing_on (with landing line)

 

m2p  / m3p    uses Landing_off mleaderstyle and

m2p- / m3p-   uses Landing_on   mleaderstyle

(with dash character signifies the landing line)

so actually you can control it by calling the right command.

 

the two mleaderstyles are created only if they are not exist and you can (if you need)

make more changes to its properties.  the next time you call the commands? it will

use the existing mleaderstyle (including your modifications)

be aware that the scale for mleaderstyle is left 1.0 and you need to set it for your dwg scale

and if you make changes to the mleaderstyle? it will immediatly effect all mleader objects that

are already drawn. (you can not draw at the same dwg two different mleader scale)

the two mleaderstyles will use the current textstyle at creation time.

 

each command will issue the following prompt:

Coords style -> Row/Column <Row>:

 

i do remembere  your request to eliminate it but it is not logical to do so, it gives you the flaxiability

to use Row or Coulmn Style with each of command.

 

in order to eliminate the need to reply each time to this prompt you can define your

own toolbar buttons (do you know how to do it?) and put such macros there

 

[2 points without landing line]

^C^Cm2p Row                            ; Row       is selcted automaticlly

^C^Cm2p Column                     ; Column is selcted automaticlly

 

[2 points with landing line]

^C^Cm2p- Row                            ; Row       is selcted automaticlly

^C^Cm2p- Column                     ; Column is selcted automaticlly

 

[3 points without landing line]

^C^Cm3p Row                            ; Row       is selcted automaticlly

^C^Cm3p Column                     ; Column is selcted automaticlly

 

[3 points with landing line]

^C^Cm3p- Row                            ; Row       is selcted automaticlly

^C^Cm3p- Column                     ; Column is selcted automaticlly

 

 

also note from your picture:

 

the M3PTYP1 is not really a mleader with 3 points you can accomplish it by 2 points with landing line ( my m2p- )

and set the Coords style to Coulmn

 

the M3PTYP2 is not really a mleader with 3 points you can accomplish it by 2 points with landing line ( my m2p- )

and set the Coords style to Row

 

if you need a longer landing line then what is sets in mleaderstyle you can use the m3p- command.

 

and finaly some limitations:

*  the lisp will work only from R2008 and up (as far as i recall mleader is not supported below)

*  a limitation in the vla functions prevent visual lisp from creating new mleaderstyle

    in R2008 so better running it from R2009 and up. although it will run in R2008 but it will only

    use the current mleaderstyle which is not really suitable.

 

 

Cheers,

Moshe

 

Message 23 of 24
lai
Advocate
in reply to: Moshe-A

Hi Moshe,

Thanks alot for the newly revise lisp..it's works great and just as what i needed...Anyway, i tot to have some minor modification..Can i make all the new multileaders to just follow the current drawing multileader? Reason is to prevent any further multileader modification. I think if just change it to follow my current multileader rather than let it autocreate a new one is more better.

Message 24 of 24
Moshe-A
in reply to: lai

Lai,

 

of course what you are asking can be done but it's alot of work cause the dxf codes for mleadetstyle

 in developer documentation are confusing. only to achieve what i gave you took me alot of time.

i used triel and error to match the right codes.

 

what i'm suggesting you is to define properly the Landing_off and Landing_on mleaderstyles

and put them in a template file (dwt) and then import them (with ADCenter) to any dwg you work.

 

again note:

the Commands only creates it's mleaderstyles only if they are no exist.

and they are both needed for a proper work (do not mix them)

the Landing_off mleaderstyle is not realy disabling the landing line it only define a very small landing length

 

Moshe

 

 

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report

”Boost