求高手帮忙看下哪里出问题了这程序
本帖最后由 243811238 于 2014-3-18 18:13 编辑(defun c:BSB (/ OLDOS p0 p1 p0x p0y p1x p1y xi yi pc txi tyi t);测量矩形并生成文本
(COMMAND "UNDO" "BE")
(SETQ OLDLN (GETVAR "CLAYER"))
(SETQ OLDOS(GETVAR "OSMODE"))
(initget 1)
(setq p0 (getpoint "\nFirst Point:"))
(initget 33)
(setq p1 (getcorner p0 "\nSecond Point:"))
(SETQ p0x (NTH 0 P0))
(SETQ p0y (NTH 1 P0))
(SETQ p1x (NTH 0 P1))
(SETQ p1y (NTH 1 P1))
(SETQ xi (- p1x p0x))
(SETQ yi (- p1y p0y))
(if (and p0 p1)
(progn
(setq pc (polar p0 (angle p0 p1) (/ (distance p0 p1) 2)))
(setq txi (RTOS (abs xi) 2 0))
(setq tyi (RTOS (abs yi) 2 0))
(if (> (abs xi) (abs yi))
(COMMAND "TEXT" "j" "m" pc "50" "0" t)
(COMMAND "TEXT" "j" "m" pc "50" "90" t)
)
)
)
(SETVAR "OSMODE" OLDOS)
(SETVAR "CLAYER" OLDLN)
(COMMAND "UNDO" "E")
(PRINC)
)
求版主来帮忙啊 人呢 ?
冒牌的来了 天下没有白吃的午餐 本帖最后由 ZZXXQQ 于 2014-3-18 08:17 编辑
专业的东东不懂。简单写了个程序。
(defun c:we ()
(setvar "CMDECHO" 0)
(if (and (setq h (getdist "\n输入高度: "))
(setq lnm (getstring "\n选择图层【一层到八层】: "))
(setq pt (getpoint "\n插入点: "))) (progn
(setq cl (getvar "CLAYER"))
(setvar "CLAYER" lnm)
(command "_.RECTANG" pt (mapcar '+ pt (list 2500 65)))
(setq s1 (entlast))
(entmake
(list
'(0 . "TEXT") '(100 . "AcDbEntity") '(67 . 0)
; (cons 8 layer)
'(100 . "AcDbText") '(10 0.0 0.0 0.0)
'(40 . 52)
(cons 1 (strcat (rtos h 2 0) " WE 2500"))
'(50 . 0) '(41 . 0.7) '(51 . 0.0)
; (cons 7 style)
'(71 . 0) '(72 . 1)
(cons 11 (mapcar '+ pt (list 1250 6.5)))
'(210 0.0 0.0 1.0)
'(100 . "AcDbText")
'(73 . 0)
)
)
(command "_.ROTATE" "L" s1 "" pt PAUSE)
(setvar "CLAYER" cl)
))
(setvar "CMDECHO" 1)
(princ)
)
;; 需要e派工具箱(XCAD)的支持:http://yunpan.cn/QXQKsW9gAPmpF
(defun c:tt ()
(if (and (setq int (Uint 7 "" "高度" int))
(setq la (USTR 1 "图层(1~8)" la NIL))
)
(progn
(xyp-MkLa la)
(while (setq pt (getpoint "\n插入点: "))
(setq s1 (xyp-rectang pt (xyp-Pt2XY pt 200 65))
tx (strcat "200 WE" (itoa int))
s2 (xyp-Text 5 (xyp-9pt s1 5) tx)
)
)
)
)
(princ)
) 版主的程序命令是TT,为什么加载了出现错误啊 G版还是用不了啊,输入高度后,再输入第一点就中断了
页:
[1]