见附件。我还修改了DCL,使其看起来更小或紧凑。
这看起来更好。
DSTYLE2.lsp
DSTYLE2.dcl
尊敬的先生:
thx回复
干得不错
thx再次共享
非常欢迎,
有什么需要调整的吗? 尊敬的先生:
thx寻求帮助
可以添加按钮
仪表尺寸和毫米尺寸
每个标注样式创建相同的图层
(示例:-尺寸样式=dim100,图层样式=dim100)
我的理解是,公制1:100的尺寸可以表示毫米或米,具体取决于您决定绘制的尺寸。我不相信维度样式管理器中有这样的设置。如果你能详细阐述一下你想要如何达到这个目标,那将是很有帮助的。如果有帮助的话,尺寸变量DIMPOST可以在主单位后放置m或mm,但我认为这不是您想要的。图层问题没什么大不了的,很容易设置。 尊敬的先生:
thx寻求帮助
autolisp,
附加的是图层修复。键入DSTYLE3以启动程序。
DSTYLE3.dcl
DSTYLE3.lsp
太棒了这就是我很久以前想要找到的。我们在我工作的公司使用这种类型的产品,但我希望我可以根据自己的标准对其进行定制。现在我可以用你的好习惯来做了。
你真的做到了。
这很好,但请理解箭头是此例程中的自定义块。如果你被困住了,那就问吧。 有点离题,但仍然相关。
FWIW,从技术上讲,你不需要用entmake在数据库中搜索图层名。但是,如果您需要决定使用ENTMAKE或ENTMOD,您会这样做:
(defun DSTYLE3_LAYER_CREATE (LNAM$ LCLR# LTYP$ LWGT# / #prog)
(if (null (tblsearch "layer" LNAM$))
(set '#prog (lambda ( x ) (entmake x)))
(set '#prog (lambda (x / ent y)
(setq ent (entget (tblobjname "LAYER" LNAM$)))
(foreach y x
(if (not (member (car y) '(0 100 2)))
(setq ent (subst y (assoc (car y) ent) ent))))
(entmod ent) )))
(#prog
(list
(cons 0 "LAYER")
(cons 100 "AcDbSymbolTableRecord")
(cons 100 "AcDbLayerTableRecord")
(cons 2 LNAM$)
(cons 6 LTYP$)
(cons 62 LCLR#)
(cons 70 0)
(cons 2901)
(cons 370LWGT#)
)
)
(princ)
)
所以用这个。。。
(DSTYLE3_LAYER_CREATE "Test-Layer" 1 "Continuous" 18)
;; would create the layer
(DSTYLE3_LAYER_CREATE "Test-Layer" 2 "Continuous" 18)
;; would override the current layer def.
页:
1
[2]