243811238 发表于 2014-3-15 15:29:14

求高手帮忙看下哪里出问题了这程序

本帖最后由 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)
)

243811238 发表于 2014-3-15 15:32:50

求版主来帮忙啊 人呢 ?

VBALISPER 发表于 2014-3-16 20:26:55

冒牌的来了

VBALISPER 发表于 2014-3-16 20:27:26

天下没有白吃的午餐

ZZXXQQ 发表于 2014-3-17 08:17:03

本帖最后由 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)
)

xyp1964 发表于 2014-3-17 12:56:01

;; 需要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)
)

243811238 发表于 2014-3-17 15:05:49

版主的程序命令是TT,为什么加载了出现错误啊

243811238 发表于 2014-3-17 15:09:08

G版还是用不了啊,输入高度后,再输入第一点就中断了
页: [1]
查看完整版本: 求高手帮忙看下哪里出问题了这程序