lisp到ddedit维度
你好,我想知道是否可以使用lisp来执行以下操作:
D编辑维度,使其以3“、6“9”或0”结尾,但始终向下舍入。
所以10'-10“应该是10'-9”,以此类推。。
谢谢你的帮助! 欢迎来到论坛。
看看这个。。。。
(defun c:Test (/ Three Six Nine ss sideA sideB dis p pt)
; Tharwat 14. 06. 2011
(setq Three (* 25.4 3.) Six (* 25.4 6.) Nine(* 25.4 9.))
(if
(and
(setq ss (car (entsel "\n Select a Dimension :")))
(eq (cdr (assoc 0 (setq e (entget ss)))) "DIMENSION")
)
(progn
(setq sideA (cdr (assoc 13 e)))
(setq sideB (cdr (assoc 14 e)))
(setq dis (distance sideA sideB))
(if (eq
(car sideA)
(car sideB)
)
(setq p sideB)
(setq p sideA)
)
(cond (
(and (> dis 0.) (< dis Six))
(setq pt (polar p (angle sideA sideB) Three))
)
(
(and (> dis Six) (< dis Nine))
(setq pt (polar p (angle sideA sideB) Six))
)
(
(> dis Nine)
(setq pt (polar p (angle sideA sideB) Nine))
)
)
(entupd
(cdr (assoc -1 (entmod (subst (cons 14 pt) (assoc 14 e) e)))
)
)
)
(princ)
)
(princ)
)
塔瓦特 如果我正确理解了你的目标,这应该会奏效:
(defun c:测试(/dm en ft in)(if(and(setq en(car(entsel)\ n选择维度:))(eq“Dimension”(cdr(assoc 0(entget en)))))(progn(setq en(entget en)dm(cdr(assoc 42 en))ft(fix(/dm 12))in(rem dm 12)(setq in(cond(<in 3)0)((和( 如果要替代尺寸,只需转到dimstyle并将舍入设置为3。lisp不是必需的。
克鲁格
打得好,克鲁格-这一次我错失良机
好的观点,克鲁格,我也没有得到点的OP与他们的小字从日常需要。
谢谢 哈哈,打得好,我以为我试过了,但没用,我想现在可以了 大家好,请记住为什么dimstyle中的舍入在我的情况下不起作用,因为它将向上取整,因为我只希望它向下取整。
我会试试你们创造的Lisp程序,谢谢!
页:
[1]