AutoCADÊÇÃÀ¹úAutodesk¹«Ë¾ÍƳöµÄÓÅÐãµÄ¼ÆËã»ú¸¨ÖúÉè¼ÆÈí¼þ,
ÆäÄÚǶʽµÄAutoLispÓïÑÔ,¸ü¸ø½øÐжþ´Î¿ª·¢µÄÓû§ÌṩÁËÒ»¸öÇ¿´ó
µÄ¹¤¾ß¡£±¾ÈËÔÚ³¤ÆÚ½øÐÐCAD¸¨Öú»æÍ¼µÄʵ¼ùÖÐ×ܽá³öÁËһЩ¾Ñé,±à
ÖÆÁËһЩС³ÌÐò,ÓÃÓÚ½â¾öÔÚCAD»æÍ¼Öо³£Åöµ½µÄһЩСÎÊÌâ,²¢ÇÒ
Ï£ÍûÄܹ»Å×שÒýÓñ,ͬ¶ÁÕßÅóÓÑÃÇ»¥ÏཻÁ÷,¹²Í¬Ìá¸ß¡£
1.ÔÚ»æÍ¼ÆÁÄ»ÉÏ·½×´Ì¬ÌõÏÔʾϵͳʱ¼äºÍ»æÍ¼±ÈÀý
ÔÚ»æÍ¼¹ý³ÌÖÐ,Óû§ÓÐʱÏëÖªµÀµ±Ç°µÄ»æÍ¼±ÈÀýÊǶàÉÙ,»òÕßÏëÖª
µÀÏÖÔÚÊÇʲôʱ¼ä¡£ËäÈ»ÔÚAutoCADÖÐÓÐDimscaleºÍTimeÕâÁ½¸öϵͳ
ÃüÁî¿ÉÒÔÏÔʾ³öÏëÒªÖªµÀµÄ¶«Î÷,µ«ÊÇÿ´Î¶¼Òª¼üÈëÕâЩÃüÁîÏÔÈ»ºÜ
Âé·³¡£Æäʵ½â¾öÕâ¸öÎÊÌâµÄ·½·¨·Ç³£¼òµ¥,Ö»ÒªÔÚacad.mnlÖеÄC::St
a rtup()ÖмÓÈëÏÂÁм¸¾äDIESEL˵Ã÷³ÌÐò,¾ÍÄܹ»×öµ½ÔÚÿ´Î´ò¿ªÒ»
ÕÅͼʱ,ÔÚÆÁÄ»»æÍ¼ÇøµÄÉÏ·½ÏÔʾ³öϵͳʱ¼ä¼°»æÍ¼±ÈÀý,ÇÒʱ¼äµÄÏÔ
ʾ»áËæÊ±¼ä±ä»¯¶ø±ä»¯¡£
(setvar ¡åMODEMACRO¡å
(strcat
¡å$(substr,$(getvar,CLAYER),1,8)¡å ;ÏÔʾ²ãÃû
¡å$(if,$(getvar,ORTHOMODE),Ortho,)¡å ;ÏÔʾÕý½»×´Ì¬
¡å$(if,$(getvar,SNAPMODE)¡å ;ÏÔʾ²¶×½×´Ì¬
¡åSnap:$(if,¡å
¡å$(=,$(index,0,$(getvar,snapunit)),¡å
¡å$(index,1,$(getvar,snapunit))),¡å
¡å$(index,0,$(getvar,snapunit)),¡å
¡å/=¡å
¡å)¡å
¡å,¡å
¡å)¡å
¡å1:$(getvar,DIMSCALE)¡å ;ÏÔʾ»æÍ¼±ÈÀý
¡å $(edtime,$(getvar,date),yy-m-dd H:MM:SSam/pm)¡å
;ÏÔʾϵͳʱ¼ä,¾«È·µ½Ãë
)
)
2.ÈÎÒâ±ä»»»æÍ¼Ê®×ÖÏߵĽǶÈ
Õâ¸öС³ÌÐò¿ÉÒÔÔÚ»æÍ¼¹ý³ÌÖÐÈÎÒâ¸Ä±ä»æÍ¼Ê®×ÖÏߵĽǶȡ£Õâ¶Ô
ÓÚ»ÈÎÒâ½Ç¶ÈµÄÖ±Ïß¼°Æä´¹Ö±ÏßÊǺÜÓÐЧµÄ¡£¼üÈëCCAÃüÁî¿ÉÒÔͨ¹ý
ѡȡÏàÓ¦µÄʵÌå,ʹʮ×ÖÏßͬʵÌå³ÉÕý½»×´Ì¬, Óû§±ã¿ÉÔÚ´ËʵÌåÉÏ
»Óë֮ƽÐлò´¹Ö±µÄÏß¶ÎÁË¡£Èç¹ûÏë»Ö¸´µ½ÔÀ´µÄ״ֻ̬ҪÁíÍâÔÙ¼ü
ÈëRCAÃüÁî¼´¿É¡£
;;;File Name:myca.lsp
;;;By An Yuhui
;;;4-12-1995
;;;Function list:
;;; c:cca() change current angbase
;;; c:rca() recover current angbase
;;; **********
(defun c:cca()
(setq en(entsel))
(setq pt(cadr en))
(setq e1(entget (car en)))
(if(=(cdr (assoc 0 e1)) ¡åPOLYLINE¡å)
(progn
(command ¡åexplode¡å pt)
(setq e1 nil)
(setq e1 (entget(entlast)))
)
)
(setq pt1(cdr (assoc 10 e1)))
(setq pt2(cdr (assoc 11 e1)))
(setvar ¡åsnapang¡å (angle pt1 pt2))
(setvar ¡åorthomode¡å 1)
)
(defun c:rca()
(setvar ¡åsnapang¡å0)
(setvar ¡åorthomode¡å)
)
3.ʵÏֳߴçÏßµÄÁ¬Ðø±ê×¢
AutoCADµÄDIMÃüÁîÖÐÓÐÒ»¸öContinueÁ¬Ðø±ê×¢ÃüÁî,ËüµÄ×÷ÓÃÊÇ
ÔÚ±ê×¢ÍêÒ»¸ö³ß´çÏߺó,ÔÚÕâÌõ³ß´çÏߵĻù´¡É϶ÔÁíÒ»Ìõ¿ªÊ¼½øÐбê
×¢,ÆäʵÔÚʹÓÃʱÈÔÒª²»¶ÏµØ¼üÈëÃüÁî,ͬʱµ±±êעˮƽµÄÒ»Á¬´®Ïß¶Î
ʱ,ºÜÓпÉÄܸ߸ߵ͵͵ĶԲ»Æë¡£ÒÔϵijÌÐò¿ÉÒÔʵÏÖÕæÕýÒâÒåÉϵÄ
ˮƽ»ò´¹Ö±Ïß¶ÎÁ¬Ðø±ê×¢,·½±ãÒ×ÓÃ,¶øÇÒËÙ¶È¿ì!
;;;File Name:dimcont.lsp
;;;by An Yuhui
;;;1-25-1996
;;;Function:Continue Dimension
;;;**********
(defun c:dimcont()
(setq spt(getpoint ¡å\nFirst point:¡å))
(setq ept(getpoint spt ¡å\nEnd point:¡å))
(setq just-ang(angle spt ept))
(setq ss(ssget ¡åF¡å(list spt ept)))
(setq index 0 ptlist nil)
(while (setq et (ssname ss index))
(if(=(cdr (assoc 0 (entget et))) ¡åPOLYLINE¡å)
(progn
(command ¡åEXPLODE¡ået)
(setq et(entlast))
)
)
(setq etlist (entget et))
(setq pt1(getvalue 10 etlist))
(setq pt2(getvalue 11 etlist))
(setq ptlist(cons (inters pt1 pt2 spt ept nil)ptlist))
(setq index(1+index))
)
(setq ptlist(sort1 ptlist))
(setq lastpt(car ptlist))
(setq ptlist(cdr ptlist))
(while(setq pt (car ptlist))
(cond((or(=just-and0) (=just-ang pi))
(command ¡ådim1¡å ¡åhor¡å lastpt pt pt ¡å¡å)
(setq ptlist(cdr ptlist))
(setq lastpt pt)
)
((or (=just-ang (*pi 0.5)) (=just-ang(* pi 1.5)))
(command ¡ådim1¡å ¡åver¡å lastpt pt pt ¡å¡å)
(setq ptlist(cdr ptlist))
(setq lastpt pt)
)
)
)
(princ)
)
4.ÈÎÒâת»»Á½¸ö×Ö·ûµÄλÖÃ
±ÊÕßÔÚ»æÍ¼Ê±³£³£»áÓöµ½ÐèÒª¸Ä±äÎı¾±ê×¢ºÍ˵Ã÷λÖõÄÇé¿ö,
ÓÐʱÊÇÁ½¸öÎı¾×Ö·ûλÖõĻ¥»»,ÓÐʱÊDzÄÁϱíÖÐÁ½ÐвÄÁÏÃûµÄλÖÃ
»¥»»¡£ÓÃÒ»°ãµÄ·½·¨,ÊÇÏȰѵÚÒ»ÐÐÎı¾moveµ½Ò»¸öλÖÃ,ÔٰѵڶþÐÐ
Îı¾moveµ½µÚÒ»ÐÐÎı¾ÔÀ´µÄλÖÃ,×îºóÔÙÒÆ¶¯µÚÒ»ÐÐÎı¾µ½µÚ¶þÐÐ
Îı¾ÔÀ´µÄλÖÃ,ÿ´Î×öÆðÀ´×ܸе½²»·½±ã,¶øÇÒÓÉÓÚÒÆ¶¯Ê±µÄÎó²î,
λÖÃ×ÜÊǶԲ»×¼¡£Òò´Ë,±ÊÕßÓÃAutoLisp±àÁËÒ»¸öС³ÌÐò,ÓÃÓÚ½â¾öÕâ
¸öÎÊÌ⡣ÿ´ÎʹÓÃʱֻҪѡÔñÒ»ÏÂÎı¾,ÔÙ°´»Ø³µ,¼´Äܳɹ¦µØ×ª»»¶þ
¸öÎı¾µÄλÖᣱÊÕßÔÚʹÓÃʱ»ñÒæ·Çdz,ÏÖ°ÑËü½éÉܸø´ó¼Ò¡£
;;;Filenmae:chgtp.lsp
:::By An Yuhui
;;;7-19-1995
;;;Function:change two text position
;;;**********
(defun c:chgtp()
(setq el(ssget))
(setq len (sslength el))
(if (>len2)
(progn
(alert ¡åTo Many Texts!¡å)
(exit)
)
)
(setq en1 (ssname el 0))
(setq en2 (ssname el 1))
(setq el1 (entget en1))
(set pt1 (cdr (assoc 10 el1)))
(setq el2 (entget en2))
(setq pt2 (cdr (assoc 10 el2)))
(command ¡åmove¡å en1 ¡å¡å pt1 pt2)
(command ¡åmove¡å en2 ¡å¡å pt2 pt1)
(redraw)
(princ)
)
5.ÇÉÓÃPointÃüÁî
ÔÚAutoCADÖÐ,PointÕâ¸öÃüÁîÊdz£ÓõĻù±¾ÃüÁî,Ò²ÐíÓÉÓÚËüÌ«¼ò
µ¥,Ðí¶àÓû§³£³£ºöÊÓÁËËüµÄ×÷ÓÃ,Æäʵͨ¹ý¸Ä±äPDMODEÕâ¸öϵͳ±äÁ¿
µÄÖµ,PointÃüÁî¿ÉÒÔ·¢»Ó³öÒâÏë²»µ½µÄ×÷Óá£ÏÂÀýͼÐÎΪPDMODEÔÚÌØ
¶¨ÖµÏÂPointÃüÁöµÄµãµÄÐÎ×´,Ϊ·½±ãÓû§ÔÚ»æÍ¼Ê±Ñ¡ÓÃ,±ÊÕßÌØ
µØ±àÖÆÁËÒ»¸ö¿ÉÒÔËæÊ±ÔÚ»æÍ¼¹ý³ÌÖÐÏÔʾÏÂÃæÍ¼ÐαäÁ¿ÖµµÄС³ÌÐò,
Óû§ÔÚÈ·¶¨ÒªÑ¡ÔñµÄPDMODEÖµºó, ÓÃRedrawÃüÁîÇåÆÁ¼´¿É»Øµ½ÔÀ´µÄ
»æÍ¼×´Ì¬, ·½±ãÒ×Óá£Í¼1
(defun c:pointcod()
(command ¡åvslide¡å ¡åd:\\ayh\\prov\\point.sld¡å)
(princ)
)

