当做
米尔恰 尺寸特征由DIMSCALE系统变量控制。如果是关于线性尺寸的值,请检查DIMLFAC。
当做
米尔恰 (defun c:pointd(/ _dxf _list ss ent)
(setq _dxf (lambda (dx en) (cdr (assoc dx (entget en)))))
(setq _list (lambda (p1 p2)
(polar p1
(angle p1 p2)
(* (distance p1 p2) 2))))
(setq ss (ssget '((0 . "DIMENSION"))))
(repeat (sslength ss)
(setq ent (ssname ss 0))
(print (list (_dxf 10 ent)
(_list (_dxf 10 ent) (_dxf 11 ent)))
)
)
(princ)
) 很好的方法,但请检查12号帖子。
当做
米尔恰
哦,我没看到那个帖子。。。我想你是对的。。随便。我明天再试一次,GTG
干杯 我不理解这个代码是如何工作的。在这里,我结合了“sincos tan cot”,这里是一个很好的和干净的。
但对我来说,这段代码工作不正常。第一个点显示正常,但第二个点远离尺寸 pBe发布的解决方案适用于DIMTAD=0和DIMJUST=0。
当做
米尔恰
当我坐公共汽车的时候。我一直在想这个帖子。。我快疯了。所以我一回到家就写了这个
(defun c:pointd(/ _dxfss en ent pts)
(setq _dxf (lambda (dx en)
(cdr (assoc dx
(if (listp en)
en
(entget en))))))
(if(setq ss (ssget "_:S:E" '((0 . "DIMENSION"))))
(progn
(setq en (ssname ss 0))
(setq ent (tblobjname "BLOCK" (_dxf 2 en)))
(repeat 3 (setq ent (entnext ent)))
(setq pts (list (_dxf 10 (setq ln (entget ent)))
(_dxf 11 ln)))
)
) pts
)
. 此外,我还使用了与张贴的图片相同的箭头结构标记,这使得代码更容易编写
干杯Mircea。。。去睡觉 但是你的第一个代码还可以。。。只涉及未命中距离(\u dxf 42 ent)以及(\u dxf 13 ent)和(\u dxf 14 ent)。。。
(defun c:pointd(/ _dxf _list ss ent li)
(setq _dxf (lambda (dx en) (cdr (assoc dx (entget en)))))
(setq _list (lambda (p1 p2 p3) (polar p1 (angle p2 p3) (_dxf 42 ent))))
(setq ss (ssget "_+.:E:S" '((0 . "DIMENSION"))))
(if (equal (assoc 100 (reverse (entget (setq ent (ssname ss 0))))) (cons 100 "AcDbAlignedDimension"))
(progn
(setq li (entmakex (list '(0 . "LINE") (cons 10 (_dxf 10 ent)) (cons 11 (_list (_dxf 10 ent) (_dxf 14 ent) (_dxf 13 ent))) '(62 . 1))))
(print (list (_dxf 10 li) (_dxf 11 li)))
(entdel li)
)
(prompt "\nWrong type of dimension picked - you must pick Aligned dimension")
)
(princ)
)M.R。
页:
1
[2]