EntMake 方式 生成对齐标注
生成时采用当前 标注样式 当前 DIMSCALE;功 能:EntMake 方式生成对齐对标注,默认图层、颜色、标注样式、标注全局比例变量。
;调用格式:($YF_EMAligneDim <起点> <终点> <文字基点>)
;返 回 值:生成对象图元名。
;支持函数:
;示 例:($YF_EMAligneDim (Getpoint) (Getpoint) (GetPoint))
;整理日期:2015年5月12日
(Defun $YF_EMAligneDim (SP EP TxtPt / DIMSCALE OScale DD DD2 Result)
(EntMake
(List
'(0 . "DIMENSION") '(100 . "AcDbEntity") '(100 . "AcDbDimension")
(Cons 10 Txtpt)
'(70 . 33) '(1 . "") '(100 . "AcDbAlignedDimension")
(Cons 13 SP) (Cons 14 EP)
(List
-3 (List "ACAD"
'(1000 . "DSTYLE") '(1002 . "{") '(1070 . 40) (Cons 1040 (GetVar "DIMSCALE")) '(1002 . "}")))
)
)
(EntLast)
) 留个记号,以后再来 楼主真是高手,什么都是浮云啊 考虑DIMSCALE DIMLTFAC 两个变量的值。
;函数名称:YF_EMAligneDim
;函数功能:EntMake方式生成对齐标注,默认当前层、颜色、标注样式、标注全局比例变量。
;调用格式:(YF_EMAligneDim <起点> <终点> <文字标注侧基点>)
;返 回 值:图元名,否则返回nil。
;示 例:(YF_EMAligneDim (Getpoint) (Getpoint) (GetPoint))
;整理日期:2016年4月11日
(defun YF_EMAligneDim (SP EP TxtPt)
(if
(entmake
(append
(list
'(0 . "DIMENSION") '(100 . "AcDbEntity") '(100 . "AcDbDimension") (cons 10 (trans TxtPt 1 0)) '(70 . 33) '(1 . "")
'(100 . "AcDbAlignedDimension") (cons 13 (trans SP 1 0)) (cons 14 (trans EP 1 0))
)
(cond
(
(and (/= (getvar "DIMSCALE") 1.0)(/= (getvar "DIMLFAC") 1.0))
(list (list -3 (list "ACAD" '(1000 . "DSTYLE") '(1002 . "{") '(1070 . 40) (cons 1040 (getvar "DIMSCALE")) '(1070 . 144) (cons 1040 (getvar "DIMLFAC"))'(1002 . "}"))))
)
(
(and (/= (getvar "DIMSCALE") 1.0)(= (getvar "DIMLFAC") 1.0))
(list (list -3 (list "ACAD" '(1000 . "DSTYLE") '(1002 . "{") '(1070 . 40) (cons 1040 (getvar "DIMSCALE")) '(1002 . "}"))))
)
(
(and (= (getvar "DIMSCALE") 1.0)(/= (getvar "DIMLFAC") 1.0))
(list (list -3 (list "ACAD" '(1000 . "DSTYLE") '(1002 . "{") '(1070 . 144) (cons 1040 (getvar "DIMLFAC"))'(1002 . "}"))))
)
)
)
)
(entlast)
)
)
页:
[1]