肌酸的宏问题
大家好,我创建了一个宏,用于为不同比例创建不同的标注样式。我们公司正在使用这些尺寸样式。如果我在一个新的空图形中使用它,效果会很好。
但是,如果我在具有相同名称的标注样式的激活图形中使用它,我会遇到一个问题。。。。。
我将在命令行中看到这一点;
“输入新标注样式的名称或[?]:比例20“
该名称已在使用,请重新定义它?:_dimclrd
选项关键字无效。
该名称已在使用,请重新定义它?:"
“_dimcrld”应该是宏中的下一个命令,但由于“scale 20”已经在使用,我需要先执行一些其他命令。
此时,AutoCad停止执行此宏。如果宏应创建的第一个标注样式已在使用,则不应创建其他标注样式。
有没有可能/解决方案来改变我的宏,让他创建他应该做的每个维度样式?还有,如果一个或多个维度样式已经存在?
原因;如果您删除标注样式是因为您认为;“我不再需要他了。”但你错了。或者其他人继续画画,需要用另一个比例画一些东西。
您需要从另一个(新的/正在绘制的)图形中复制“想要的”标注样式。
有人能帮我吗?
这是整个宏观;
^C^C_dimclrd;1;dimltype;continuous;_dimlwd;-1;_dimdle;1.25;_dimdli;1.25;_dimclre;1;_dimltex1;continuous;_dimltex2;continuous;_dimlwe;-1;_dimexe;1.25;_dimexo;1.25;_dimblk;"";_dimldrblk;"";_dimasz;2;_dimcen;0;-style;;iso.shx;a;;;0;;;;;no;_dimtxsty;standard;_Dimclrt;2;_dimtfill;1;_dimtxt;1.8;_dimtad;1;_dimgap;1;_dimtoh;off;_dimtih;off;_dimtmove;0;_dimscale;1;_dimdec;0;_dimzin;0;_dimtolj;0;_dimse1;off;_dimse2;off;_dimrnd;5;_dimtofl;on;-dimstyle;s;"scale 1";_dimclrd;1;dimltype;continuous;_dimlwd;-1;_dimdle;1.25;_dimdli;1.25;_dimclre;1;_dimltex1;continuous;_dimltex2;continuous;_dimlwe;-1;_dimexe;1.25;_dimexo;1.25;_dimblk;"";_dimldrblk;"";_dimasz;2;_dimcen;0;-style;;iso.shx;a;;;0;;;;;no;_dimtxsty;standard;_Dimclrt;2;_dimtfill;1;_dimtxt;1.8;_dimtad;1;_dimgap;1;_dimtoh;off;_dimtih;off;_dimtmove;0;_dimscale;2;_dimdec;0;_dimzin;0;_dimtolj;0;_dimse1;off;_dimse2;off;_dimrnd;5;_dimtofl;on;-dimstyle;s;"scale 2";_dimclrd;1;dimltype;continuous;_dimlwd;-1;_dimdle;1.25;_dimdli;1.25;_dimclre;1;_dimltex1;continuous;_dimltex2;continuous;_dimlwe;-1;_dimexe;1.25;_dimexo;1.25;_dimblk;"";_dimldrblk;"";_dimasz;2;_dimcen;0;-style;;iso.shx;a;;;0;;;;;no;_dimtxsty;standard;_Dimclrt;2;_dimtfill;1;_dimtxt;1.8;_dimtad;1;_dimgap;1;_dimtoh;off;_dimtih;off;_dimtmove;0;_dimscale;10;_dimdec;0;_dimzin;0;_dimtolj;0;_dimse1;off;_dimse2;off;_dimrnd;5;_dimtofl;on;-dimstyle;s;"scale 10";_dimclrd;1;dimltype;continuous;_dimlwd;-1;_dimdle;1.25;_dimdli;1.25;_dimclre;1;_dimltex1;continuous;_dimltex2;continuous;_dimlwe;-1;_dimexe;1.25;_dimexo;1.25;_dimblk;"";_dimldrblk;"";_dimasz;2;_dimcen;0;-style;;iso.shx;a;;;0;;;;;no;_dimtxsty;standard;_Dimclrt;2;_dimtfill;1;_dimtxt;1.8;_dimtad;1;_dimgap;1;_dimtoh;off;_dimtih;off;_dimtmove;0;_dimscale;20;_dimdec;0;_dimzin;0;_dimtolj;0;_dimse1;off;_dimse2;off;_dimrnd;5;_dimtofl;on;-dimstyle;s;"scale 20";_dimclrd;1;dimltype;continuous;_dimlwd;-1;_dimdle;1.25;_dimdli;1.25;_dimclre;1;_dimltex1;continuous;_dimltex2;continuous;_dimlwe;-1;_dimexe;1.25;_dimexo;1.25;_dimblk;"";_dimldrblk;"";_dimasz;2;_dimcen;0;-style;;iso.shx;a;;;0;;;;;no;_dimtxsty;standard;_Dimclrt;2;_dimtfill;1;_dimtxt;1.8;_dimtad;1;_dimgap;1;_dimtoh;off;_dimtih;off;_dimtmove;0;_dimscale;50;_dimdec;0;_dimzin;0;_dimtolj;0;_dimse1;off;_dimse2;off;_dimrnd;5;_dimtofl;on;-dimstyle;s;"scale 50";_dimclrd;1;dimltype;continuous;_dimlwd;-1;_dimdle;1.25;_dimdli;1.25;_dimclre;1;_dimltex1;continuous;_dimltex2;continuous;_dimlwe;-1;_dimexe;1.25;_dimexo;1.25;_dimblk;"";_dimldrblk;"";_dimasz;2;_dimcen;0;-style;;iso.shx;a;;;0;;;;;no;_dimtxsty;standard;_Dimclrt;2;_dimtfill;1;_dimtxt;1.8;_dimtad;1;_dimgap;1;_dimtoh;off;_dimtih;off;_dimtmove;0;_dimscale;100;_dimdec;0;_dimzin;0;_dimtolj;0;_dimse1;off;_dimse2;off;_dimrnd;5;_dimtofl;on;-dimstyle;s;"scale 100";
谢谢 必须提到的是,注释性标注在消除仅针对不同比例使用不同标注样式的需要方面非常有用。 我不会做那么长的宏,而是将其转换为lisp,然后您可以搜索现有的dim样式并创建一个新样式或覆盖旧样式^这是我的宏。看看entmake dim样式。
(setqdoc (vla-get-activedocument (vlax-get-acad-object))) ; open database
(setq dstyle (vla-get-dimstyles doc))
(vlax-for sty dstyle
(princ (vla-get-name sty)) ; put a make dim style here using a if
)
或创建所有尺寸标注样式并添加到图形模板中。 是的,SLW210比添加更容易删除。
或
使用1 dim创建包含所有dimstyles的dwg,然后只需复制和粘贴。 问题是我们必须更改所有标注样式。我的公司希望图纸中使用的每个尺寸样式都是带有闭合填充箭头的尺寸。此时,我们使用带有斜角的标注样式。
这些“斜”维度与“闭合填充”维度同名。
如果使用旧标注样式将新的dimlinear从一个图形复制到另一个图形,则新的dimlinear将更改为旧的dimlinear。 只需添加
在每个样式名称之后,如果该样式存在,则将重新定义该样式;如果该样式不存在,则“yes”将返回未知的命令错误,但宏将继续创建新样式或重新定义现有样式。
顺便说一句,在不同样式之间似乎唯一会发生变化的是_dimscale值,因此在第一次设置其他变量后,无需重复它们,这将大大减少宏大小,或者至少使将来添加额外样式变得更容易。
编辑只是为了清楚
-dimstyle;s;"scale 1";
应该成为
-dimstyle;s;"scale 1";yes; 现在,您已经将其缩小到所需的范围,并且有了Autocad,您应该能够在所有现有的dim样式中进行简单搜索,并更改为闭合箭头,这将意味着我之前发布的示例代码有更多的内容,还有其他人吗?跳进去。
所以改变DIMSAH,DIMBLK1和2需要做一些测试。Tharwat有一些很接近的代码。
我记得20年前在r12中有20种昏暗的风格,注释性维度确实简化了事情。现在,我的模板中有3个带有角度子样式的注释性尺寸样式。
非常感谢Steven-G!
这是多么容易。。。。
页:
[1]
2