![]() |
caoyin大哥,一个标注尺寸与样式中定义的比较问题
caoyin大哥,一个标注尺寸与样式中定义的比较问题
www.dimcax.com 命令: (entget (car (entsel)) '("acad")) 选择对象: ((-1 . <图元名: 7ef4fe08>) (0 . "dimension") (330 . <图元名: 7ef4fd08>) (5 . "41") (100 . "acdbentity") (67 . 0) (410 . "model") (8 . "0") (100 . "acdbdimension") (2 . "*d3") (10 324.289 149.057 0.0) (11 246.493 150.932 0.0) (12 0.0 0.0 0.0) (70 . 32) (1 . "") (71 . 5) (72 . 1) (41 . 1.0) (42 . 155.592) (52 . 0.0) (53 . 0.0) (54 . 0.0) (51 . 0.0) (210 0.0 0.0 1.0) (3 . "iso-25") (100 . "acdbaligneddimension") (13 168.697 113.952 0.0) (14 324.289 113.952 0.0) (15 0.0 0.0 0.0) (16 0.0 0.0 0.0) (40 . 0.0) (50 . 0.0) (100 . "acdbrotateddimension") (-3 ("acad" (1000 . "dstyle") (1002 . "{") (1070 . 343) (1005 . "3b") (1070 . 173) (1070 . 1) (1002 . "}")))) caoyin大哥,上面是我在特征中改了一个尺寸的第一个箭头变成我的定义的一个箭头来的,,我也看出来啦 (1070 . 343) (1005 . "3b")中"3b"是代表了我这个箭头的来的,caoyin大哥,我就是想知道一下,反过来怎么样知道"3b"就是代表我的这个箭头,还有别的用户箭头又是多少呢,这个在那查的呀,,如果是cad自带的箭头,我就会知道的呢,帮帮我呀"。caoyin大哥 d 3dimpost 4dimapost 5dimblk(已废弃,现在为对象 id) 6dimblk1(已废弃,现在为对象 id) 7dimblk2(已废弃,现在为对象 id) 40dimscale 41dimasz 42dimexo 43dimdli 44dimexe 45dimrnd 46dimdle 47dimtp 48dimtm 140dimtxt 141dimcen 142dimtsz 143dimaltf 144dimlfac 145dimtvp 146dimtfac 147dimgap 148dimaltrnd 71dimtol 72dimlim 73dimtih 74dimtoh 75dimse1 76dimse2 77dimtad 78dimzin 79dimazin 170dimalt 171dimaltd 172dimtofl 173dimsah 174dimtix 175dimsoxd 176dimclrd 177dimclre 178dimclrt 179dimadec 270dimunit(已废弃,现在使用 dimlunit 和 dimfrac) 271dimdec 272dimtdec 273dimaltu 274dimalttd 275dimaunit 276dimfrac 277dimlunit 278dimdsep 279dimtmove 280dimjust 281dimsd1 282dimsd2 283dimtolj 284dimtzin 285dimaltz 286dimalttz 287dimfit(已废弃,现在使用 dimatfit 和 dimtmove) 288dimupt 289dimatfit 340dimtxsty(参照的 style 的句柄) 341dimldrblk(参照的 block 的句柄) 342dimblk(参照的 block 的句柄) 343dimblk1(参照的 block 的句柄) 344dimblk2(参照的 block 的句柄) 371dimlwd(线宽枚举值) 372dimlwe(线宽枚举值) d caoyin大哥,我把定义的箭头块插了两三次,每次看到的句柄都不相同,其实我只是想知道我打开别人的dwg图时,用上面的代码,查出-3组码内容后,我想知道343或344组码的内容到底代表着是哪一个用户定义的箭头块,然后我又在命令行中输入dimblk1或dimblk2或dimblk后,我要输入这个定义箭头块的名称字符串,回车就可以改变,这就是我想要达到的目的 caoyin大哥再帮帮我,谢谢 d (setq a (vlax-ename->vla-object (car(entsel)))) (vla-put-arrowhead1block a "块名") (vla-put-arrowhead2block a "块名") d 在caoyin大哥的帮助下,已实现我的梦想啦,我想得到的程序,现附上代码供参考 (defun c:caoyin (/ value ena lst dstyle lst2 blkname object cla objcolor blk1 blk2 cmd) (vl-load-com) (cmdbe) (setq value '(3 "dimpost" 4 "dimapost" 40 "dimscale" 41 "dimasz" 42 "dimexo" 43 "dimdli" 44 "dimexe" 45 "dimrnd" 46 "dimdle" 47 "dimtp" 48 "dimtm" 140 "dimtxt" 141 "dimcen" 142 "dimtsz" 143 "dimaltf" 144 "dimlfac" 145 "dimtvp" 146 "dimtfac" 147 "dimgap" 148 "dimaltrnd" 69 "dimtfill" 70 "dimtfillclr" 71 "dimtol" 72 "dimlim" 73 "dimtih" 74 "dimtoh" 75 "dimse1" 76 "dimse2" 77 "dimtad" 78 "dimzin" 79 "dimazin" 170 "dimalt" 171 "dimaltd" 172 "dimtofl" 173 "dimsah" 174 "dimtix" 175 "dimsoxd" 176 "dimclrd" 177 "dimclre" 178 "dimclrt" 179 "dimadec" 271 "dimdec" 272 "dimtdec" 273 "dimaltu" 274 "dimalttd" 275 "dimaunit" 276 "dimfrac" 277 "dimlunit" 278 "dimdsep" 279 "dimtmove" 280 "dimjust" 281 "dimsd1" 282 "dimsd2" 283 "dimtolj" 284 "dimtzin" 285 "dimaltz" 286 "dimalttz" 288 "dimupt" 289 "dimatfit" 340 "dimtxsty" 341 "dimldrblk" 345 "dimltype" 346 "dimltex1" 347 "dimltex2" 371 "dimlwd" 372 "dimlwe")) (setq ena (ssname (ssget '((0 . "dimension"))) 0)) (setq lst (entget ena '("acad")) dstyle (dxf 3 lst)) (command "-dimstyle" "r" dstyle) (setq lst2 (tblsearch "dimstyle" dstyle) blkname (dxf 5 lst2)) (setq object (vlax-ename->vla-object ena)) (setq cla (vla-get-layer object)) (setvar "clayer" cla) (setq objcolor (vla-get-color object)) (cond ((= objcolor 256) (setq objcolor "bylayer")) ((= objcolor 0) (setq objcolor "byblock")) ) (command "color" objcolor) (setq blk1 (vla-get-arrowhead1block object) blk2 (vla-get-arrowhead2block object)) (if (/= blkname blk1 blk2) (command "dimblk1" blk1 "dimblk2" blk2)) (if (/= (assoc -3 lst) nil) (progn (setq lst (ko-get->list-342-343-344 (ko-get->list-3 lst))) (while (car lst) (setq cmd (car2 (member (car (car lst)) value))) (cond ((= (car (car lst)) 173) (command cmd "on")) ((= (car (car lst)) 340) (command cmd (vla-get-textstyle object))) ((= (car (car lst)) 345) (command cmd (vlax-get-property object 'dimensionlinetype))) ((= (car (car lst)) 346) (command cmd (vlax-get-property object 'extline1linetype))) ((= (car (car lst)) 347) (command cmd (vlax-get-property object 'extline2linetype))) (t (command cmd (cdr (car lst)))) ) (setq lst (cdr lst)) ) ) ) (cmde) (princ) ) d 好贴。。。顶起来。。 |
所有的时间均为北京时间。 现在的时间是 08:33 PM. |