The Buzzard 发表于 2022-7-6 11:11:25

好的,这已经完成了字体样式,我确实在您的代码中找到了它。很抱歉。
见附件。我还修改了DCL,使其看起来更小或紧凑。
 
这看起来更好。
DSTYLE2.lsp
DSTYLE2.dcl

autolisp 发表于 2022-7-6 11:15:39

尊敬的先生:
thx回复
干得不错
thx再次共享

The Buzzard 发表于 2022-7-6 11:19:47

 
非常欢迎,
 
有什么需要调整的吗?

autolisp 发表于 2022-7-6 11:21:07

尊敬的先生:
thx寻求帮助
可以添加按钮
仪表尺寸和毫米尺寸
每个标注样式创建相同的图层
(示例:-尺寸样式=dim100,图层样式=dim100)

The Buzzard 发表于 2022-7-6 11:24:42

 
我的理解是,公制1:100的尺寸可以表示毫米或米,具体取决于您决定绘制的尺寸。我不相信维度样式管理器中有这样的设置。如果你能详细阐述一下你想要如何达到这个目标,那将是很有帮助的。如果有帮助的话,尺寸变量DIMPOST可以在主单位后放置m或mm,但我认为这不是您想要的。图层问题没什么大不了的,很容易设置。

autolisp 发表于 2022-7-6 11:28:42

尊敬的先生:
thx寻求帮助

The Buzzard 发表于 2022-7-6 11:29:55

 
autolisp,
附加的是图层修复。键入DSTYLE3以启动程序。
DSTYLE3.dcl
DSTYLE3.lsp

gilsoto13 发表于 2022-7-6 11:35:10

 
太棒了这就是我很久以前想要找到的。我们在我工作的公司使用这种类型的产品,但我希望我可以根据自己的标准对其进行定制。现在我可以用你的好习惯来做了。
你真的做到了。

The Buzzard 发表于 2022-7-6 11:36:51

 
这很好,但请理解箭头是此例程中的自定义块。如果你被困住了,那就问吧。

Se7en 发表于 2022-7-6 11:40:19

有点离题,但仍然相关。
 
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]
查看完整版本: 尺寸样式创建(plz ch