entmake dimstyle dxf代码que
你好!正如“true lispers”所建议的那样,我开始使用entmake来创建东西,而不是命令,我对核心Entmaker有一个问题。我使用的是autocad 2014,因此基于Autodesks 2014 dxf代码参考(http://images.autodesk.com/adsk/files/autocad_2014_pdf_dxf_reference_enu.pdf,第46页到第50页的Dimstyle组码)我正在制作一个lisp,使用entmake根据我们的标准创建Dimstyle。首先,我取下模板,进入Dim样式管理器,选择dimstyle,然后单击“比较”按钮。我现在有了所有的属性、变量和值,它们构成了我们的标准dimstyle。到目前为止,一切都很好!
使用上一个链接,我获得了相应的变量DXF代码,以创建完整的列表,为entmake提供数据,但在填充“比较尺寸样式”对话框的76个变量上,有19个变量我无法找到相应的DXF组码,以查看AutoDesk自己的参考。这些是:
这些变量是否有DXF组码?我该拿它们怎么办?建议?=)
谢谢当做
杰夫! 看看这个。
http://exchange.autodesk.com/autocad/enu/online-help/browse#WS1a9193826455f5ff18cb41610ec0a2e719-7a2b。htm 雪果,
这不是我想要的。提供的链接用于实体尺寸,我正在寻找dim styles dxf代码。深入挖掘,我发现了一个dxf维度表部分
http://exchange.autodesk.com/autocad/enu/online-help/browse#WS1a9193826455f5ff18cb41610ec0a2e719-7a53.htm
除了dxf代码289(dimatfit)不在我提供链接的PDF中之外,这两个文档的内容是相同的,它们都不包含我要查找的19个文档中的任何一个。
欢迎提供任何帮助/建议!
干杯
杰夫! 杰夫,
如果使用VLIDE检查标注图元,通常会显示以下内容。。
如果您转到之前发送的链接的此页面,则表部分中是
DIMSTYLE DXF代码。
http://exchange.autodesk.com/autocad/enu/online-help/browse#WS1a9193826455f5ff18cb41610ec0a2e719-7a53.htm 谢谢你在帖子4中给我的链接与我在帖子3中给的链接完全相同。。。
... 我不明白你想告诉我什么,还是你不明白我在问什么。。。
我为什么要这么做?我不是在说“AcDbDimensions”。我说的是“AcDbDimStyleTableRecord”。也许我错过了什么。
我找到的两个autodesk参考都不包含我要查找的19个参考中的任何一个。(列在帖子#1中) Jef!,
我很快在我发布的最后一个链接的DIMSTYLE DXF代码列表中看到了至少三个您列出的DXF代码。(可能还有更多)不知道该对未上市的公司说些什么。。
显然,还有未记录的341、342、343和344代码(不知道它们控制什么)。
有时你们需要做一点调查,试着通过setvar更改几个有问题的组码,因为它们是列出的,而不是只读变量,然后重新生成。最后,在VLIDE的“视图”菜单项中,浏览图形数据库,浏览表格,选择尺寸样式,看看有什么变化。 下面是蒂姆·斯潘格勒在TheSwamp的一个惯例:创建一个dimstyle
;;; ------------------------------------------------------------------------
;;; CREATE_DIMSTYLE.LSP
;;;
;;; Copyright © October, 2007
;;; Timothy G. Spangler
;;;
;;; Permission to use, copy, modify, and distribute this software
;;; for any purpose and without fee is hereby granted, provided
;;; that the above copyright notice appears in all copies and
;;; that both that copyright notice and the limited warranty and
;;; restricted rights notice below appear in all supporting
;;; documentation.
;;;
;;; CREATE_DIMSTYLE
;;;
;;; Description:
;;; Called from a menu pulldown or rightclick menu
;;; *(CREATE_DIMSTYLE "test0" 48.0 "Archquik")
;;;
;;; ------------------------------------------------------------------------
;;; VERSION HISTORY
;;;
;;; ------------------------------------------------------------------------
;;; MAIN FUNCTION ;;;;;;;;;;;;;;;;;;;;;;;;;
(defun DIMSTYLE_CREATE (StyleName StyleScale TextStyle / OldDimBlk OldCmdEcho)
;; Set echo
(setq OldCmdEcho (getvar "CMDECHO"))
(setvar "CMDECHO" 0)
;; Create textstyle
(if (not (tblsearch "STYLE" TextStyle))
(TEXTSTYLE_CREATE)
)
;; Create dimblk
(if (not (tblobjname "block" "_Oblique"))
(progn
(setq OldDimBlk (getvar "dimblk"))
(if (= OldDimBlk "")
(setq OldDimBlk ".")
)
(setvar "dimblk" "_Oblique")
(setvar "dimblk" OldDimBlk)
)
)
;; Create dimstyle
(entmake
(list
(cons 0 "DIMSTYLE"); Table
(cons 100 "AcDbSymbolTableRecord"); Subclass marker
(cons 100 "AcDbDimStyleTableRecord"); Subclass marker
(cons 2 StyleName); Dimstyle name
(cons 70 0); Standard flag
(cons 3 ""); DIMPOST
(cons 4 ""); DIMAPOST
(cons 5 "_Oblique"); DIMBLK
(cons 6 "_Oblique"); DIMBLK1
(cons 7 ""); DIMBLK2
(cons 40 StyleScale); DIMSCALE
(cons 41 0.0937); DIMASZ
(cons 42 0.0937); DIMEXO
(cons 43 0.38); DIMDLI
(cons 44 0.0625); DIMEXE
(cons 45 0.0); DIMRND
(cons 46 0.0625); DIMDLE
(cons 47 0.0); DIMTP
(cons 48 0.0); DIMTM
(cons 140 0.0937); DIMTXT
(cons 141 0.09); DIMCEN
(cons 142 0.0); DIMTSZ
(cons 143 25.4); DIMALTF
(cons 144 1.0); DIMLFAC
(cons 145 0.0); DIMTVP
(cons 146 1.0); DIMTFAC
(cons 147 0.0625); DIMGAP
(cons 71 0); DIMTOL
(cons 72 0); DIMLIM
(cons 73 0); DIMTIH
(cons 74 0); DIMTOH
(cons 75 0); DIMSE1
(cons 76 0); DIMSE2
(cons 77 1); DIMTAD
(cons 78 3); DIMZIM
(cons 170 0); DIMALT
(cons 171 2); DIMALTD
(cons 172 0); DIMTOFL
(cons 173 0); DIMSAH
(cons 174 0); DIMTIX
(cons 175 0); DIMSOXD
(cons 176 0); DIMCLRD
(cons 177 0); DIMCLRE
(cons 178 2); DIMCRRT
(cons 270 4); DIMUNIT
(cons 271 4); DIMDEC
(cons 272 4); DIMTDEC
(cons 273 2); DIMALTU
(cons 274 2); DIMALTTD
(cons 275 0); DIMAUNIT
(cons 276 2); DIM?????
(cons 277 4); DIMLUNIT
(cons 279 2); DIM????
(cons 280 0); DIMJUST
(cons 281 0); DIMSD1
(cons 282 0); DIMSD2
(cons 283 1); DIMTOLJ
(cons 284 0); DIMTZIN
(cons 285 0); DIMALTZ
(cons 286 0); DIMALTTZ
(cons 287 5); DIMFIT
(cons 288 0); DIMUPT
; DIMTXSTY
(cons 340 (tblobjname "style" TextStyle))
; DIMLDRBLK
(cons 342 (cdr (assoc 330 (entget(tblobjname "block" "_Oblique")))))
; DIMLDRBLK1
(cons 343 (cdr (assoc 330 (entget(tblobjname "block" "_Oblique")))))
; DIMLDRBLK2 Block for the leader
;(cons 341 (cdr (assoc 330 (entget(tblobjname "block" "")))))
)
)
;; Set dimstyle current
(command "-dimstyle" "restore" StyleName)
;; Set echo
(setvar "CMDECHO" OldCmdEcho)
(princ (strcat "\n\n--\"" StyleName "\" is now the current Dimstyle--"))
(princ)
)
;; ENTMAKE TEXT STYLE
(defun TEXTSTYLE_CREATE (/)
(entmake
(list
(cons 0 "STYLE")
(cons 100 "AcDbSymbolTableRecord")
(cons 100 "AcDbTextStyleTableRecord")
(cons 2 "Archquik");; Style Name
(cons 70 0)
(cons 40 0.0);; Fixed text height
(cons 41 1.0);; Width Factor
(cons 50 0.0);; Oblique angle
(cons 71 0)
(cons 42 2.0);; Last height used
(cons 3 "archquik.shx");; Primary font name
(cons 4 "");;Big font name
)
)
(princ)
)
(princ)
斯诺杜特,
我从网上找到的一个旧的dxf列表开始,在找到新代码时附加新代码,制作一个excel电子表格来查找变量并返回相应的dxf代码。我只是比较了adesks dxf和我的(找不到任何“新代码”),但搜索了变量名,我才发现原来的列表中有4个拼写错误。我现在只剩下14个未知数了。(供参考)
2
直到几周前,我还在用记事本写代码,现在已经完全转换成VLIDE。尽管我读了很多关于VLIDE的教程和帮助文件,但我仍然不熟悉它的所有内置工具。既然我知道去哪里调查,我会(试试)=那句话是无价的!你刚刚给了我一根钓竿!
非常感谢!
@ymg3很好的套路!它看起来比我的好。。我仍在做列表步骤=)
通过lisp创建dimstyle是一件事,但是通过lisp复制我的dimstyle是一个很好的挑战。我试图实现的第一件事是在我工作的地方建立dimstyle的整个dxf列表,如果它在第一时间被清除,或者如果开始的图形不是我们的模板,那么能够重新创建它。。。
我害怕使用几年前的例程(尤其是使用entmake的例程),因为我不知道如果lisp使用autodesk标记为过时的dxf代码创建dimstyle会发生什么。也许你知道? 正如蒂姆·斯潘格勒所说,这是一个常规动作。
我不认为过时的DXF代码会是一个大问题。
更糟糕的是,Autolisp将抛出一个错误,即不创建实体。
此时,检查VLIDE中的最后一个错误。
不确定,但我相信一些Var可能已经从0变为0
到现在“关”或“开”
只要用你正在使用的任何版本进行测试,看看它能做什么
在投入全面生产之前。
ymg公司
页:
[1]