在这里请尝试以下代码:
- (defun c:inat
- (/ cme pli plis inc ptli stpt lapt dis ang noi icl icn cnt)
- (setq cme (getvar 'cmdecho)
- osm (getvar 'osmode)
- )
- (setvar 'cmdecho 0)
- (setvar 'osmode 0)
- (setq pli (car (entsel))
- plis (entget pli)
- inc (getreal "\nSet increment value: ")
- ptli (list)
- )
- (foreach ip plis
- (if (= (car ip) 10)
- (setq ptli
- (append ptli
- (list
- (cdr ip)
- )
- )
- )
- )
- )
- (setq stpt (car ptli)
- lapt (last ptli)
- dis (distance stpt lapt)
- ang (angle stpt lapt)
- noi (fix (/ dis inc))
- icl (list)
- icn 1
- )
- (repeat (1- noi)
- (setq icl
- (append icl
- (list
- (polar stpt ang (* inc icn))
- )
- )
- )
- (setq icn (1+ icn))
- )
- (setq cnt 1)
- (foreach blip icl
- (command "-insert"
- "DC"
- blip
- ""
- ""
- (strcat "DC-"
- (if (> cnt 9)
- (itoa cnt)
- (strcat "0" (itoa cnt))
- )
- )
- )
- (princ)
- (setq cnt (1+ cnt))
- )
- (setvar 'cmdecho cme)
- (setvar 'osmode osm)
- (princ)
- )
- (princ)
它只适用于单段多段线! |