tcsl9621 发表于 2006-11-8 08:45:00

原创VLISP中创建文字样式和图层源程序

本帖最后由 作者 于 2006-11-12 22:06:38 编辑 <br /><br /> <P><FONT color=#ff0000>(vl-load-com)</FONT></P>
<P><FONT color=#ff0000>(setq p2c::acadobj&nbsp;(vlax-get-acad-object)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p2c::acaddocobj&nbsp;(vla-get-activedocument p2c::acadobj)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p2c::mspaceobj&nbsp;(vla-get-modelspace p2c::acaddocobj)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p2c::pspaceobj&nbsp;(vla-get-paperspace p2c::acaddocobj)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p2c::docobj&nbsp;(vla-get-documents p2c::acadobj)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p2c::blocksobj&nbsp;(vla-get-blocks p2c::acaddocobj)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p2c::layersobj&nbsp;(vla-get-layers p2c::acaddocobj)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p2c::textstyles&nbsp;(vla-get-Textstyles p2c::acaddocobj)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p2c::linetypes&nbsp;(vla-get-linetypes p2c::acaddocobj)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p2c::menugroupsel&nbsp;(vla-get-menugroups p2c::acadobj)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p2c::menugroup&nbsp;(vla-item p2c::menugroupsel 0)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p2c::menuobj&nbsp;(vla-get-menus p2c::menugroup)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p2c::toolbars&nbsp;(vla-get-toolbars p2c::menugroup)<BR>)</FONT></P>
<P>;;;============<BR>;;;= 设置图层 =<BR>;;;============</P>
<P>.(defun addtranslayer (/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; styleobj1&nbsp;&nbsp; layerobj1<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; layerobj2&nbsp;&nbsp;&nbsp;&nbsp; layerobj3&nbsp;&nbsp; layerobj4<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; layerobj5&nbsp;&nbsp;&nbsp;&nbsp; layerobj6&nbsp;&nbsp; layerobj7<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; layerobj8&nbsp;&nbsp;&nbsp;&nbsp; layerobj9&nbsp;&nbsp; layerobj10<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<BR>&nbsp; (vl-catch-all-apply<BR>&nbsp;&nbsp;&nbsp; 'vla-load<BR>&nbsp;&nbsp;&nbsp; (list p2c::linetypes<BR>&nbsp;&nbsp; "center"<BR>&nbsp;&nbsp; "acadiso.lin"<BR>&nbsp;&nbsp;&nbsp; )<BR>&nbsp; )<BR>&nbsp; (vl-catch-all-apply<BR>&nbsp;&nbsp;&nbsp; 'vla-load<BR>&nbsp;&nbsp;&nbsp; (list p2c::linetypes<BR>&nbsp;&nbsp; "DASHED"<BR>&nbsp;&nbsp; "acadiso.lin"<BR>&nbsp;&nbsp;&nbsp; )<BR>&nbsp; )<BR>&nbsp; (setq styleobj1 (vla-add p2c::textstyles "GB"))<BR>&nbsp; (vla-put-fontfile styleobj1 "gbenor.shx")<BR>&nbsp; (vla-put-bigfontfile styleobj1 "gbcbig.shx")<BR>&nbsp; (setq&nbsp;layerobj1&nbsp; (vla-add p2c::layersobj "KERFLEFT")<BR>&nbsp;layerobj2&nbsp; (vla-add p2c::layersobj "KERFRIGHT")<BR>&nbsp;layerobj3&nbsp; (vla-add p2c::layersobj "KERFOFF")<BR>&nbsp;layerobj4&nbsp; (vla-add p2c::layersobj "MARKING")<BR>&nbsp;layerobj5&nbsp; (vla-add p2c::layersobj "PLATE")<BR>&nbsp;layerobj6&nbsp; (vla-add p2c::layersobj "ZSQ")<BR>&nbsp;layerobj7&nbsp; (vla-add p2c::layersobj "CENTER")<BR>&nbsp;layerobj8&nbsp; (vla-add p2c::layersobj "DASHED")<BR>;;;<BR>&nbsp;layerobj9&nbsp; (vla-add p2c::layersobj "INSIDE")<BR>&nbsp;layerobj10 (vla-add p2c::layersobj "OUTSIDE")<BR>&nbsp; )<BR>;;;KERFLEFT<BR>&nbsp; (vla-put-color layerobj1 acred)<BR>&nbsp; (vla-put-lineweight layerobj1 aclnwt025)<BR>&nbsp; (vla-put-linetype layerobj1 "continuous")<BR>;;;KERFRIGHT<BR>&nbsp; (vla-put-color layerobj2 acred)<BR>&nbsp; (vla-put-lineweight layerobj2 aclnwt025)<BR>&nbsp; (vla-put-linetype layerobj2 "continuous")<BR>;;;KERFNO<BR>&nbsp; (vla-put-color layerobj3 acred)<BR>&nbsp; (vla-put-lineweight layerobj2 aclnwt025)<BR>&nbsp; (vla-put-linetype layerobj3 "continuous")<BR>;;;MARKING<BR>&nbsp; (vla-put-color layerobj4 accyan)<BR>&nbsp; (vla-put-lineweight layerobj4 aclnwt025)<BR>&nbsp; (vla-put-linetype layerobj4 "continuous")<BR>;;;PLATE<BR>&nbsp; (vla-put-color layerobj5 acblue)<BR>&nbsp; (vla-put-lineweight layerobj2 aclnwt030)<BR>&nbsp; (vla-put-linetype layerobj5 "continuous")<BR>;;;ZSQ<BR>&nbsp; (vla-put-color layerobj6 acwhite)<BR>&nbsp; (vla-put-linetype layerobj6 "continuous")<BR>;;;CENTER<BR>&nbsp; (vla-put-color layerobj7 acred)<BR>&nbsp; (vla-put-linetype layerobj7 "CENTER")<BR>;;;DASHED<BR>&nbsp; (vla-put-color layerobj8 acgreen)<BR>&nbsp; (vla-put-linetype layerobj8 "DASHED")<BR>;;;INSIDE<BR>&nbsp; (vla-put-color layerobj9 acgreen)<BR>&nbsp; (vla-put-lineweight layerobj9 aclnwt025)<BR>&nbsp; (vla-put-linetype layerobj9 "continuous")<BR>;;;OUTSIDE<BR>&nbsp; (vla-put-color layerobj10 acred)<BR>&nbsp; (vla-put-lineweight layerobj10 aclnwt025)<BR>&nbsp; (vla-put-linetype layerobj10 "continuous")<BR>;;;END<BR>&nbsp; (princ)<BR>)</P>
<P>红色为后加代码。不加程序没法运行。</P>

tcsl9621 发表于 2006-11-11 08:57:00

顶回来,再错过。可就没有了。我也不再顶了。再无人问迳就删除源代码。呵……

lxwlxwaayf 发表于 2006-11-11 20:05:00

看看

rongyifei 发表于 2006-11-11 20:15:00

有这么的热心的大哥,真的太幸运了!

rongyifei 发表于 2006-11-12 16:28:00

<P>&nbsp;不过运行不了!</P>
<P>出现下面的提示:</P>
<P>error: bad argument type: VLA-OBJECT nil</P>
<P>我看不明白:</P>
<P>程序中的p2c::textstyles,p2c::linetypes,p2c::layersobj等都没有定义,</P>
<P>程序能正常运行吗?还望指点!!!</P>

tcsl9621 发表于 2006-11-12 20:04:00

<P>程序前加这些:</P>
<P>(vl-load-com)</P>
<P>(setq p2c::acadobj&nbsp;(vlax-get-acad-object)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p2c::acaddocobj&nbsp;(vla-get-activedocument p2c::acadobj)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p2c::mspaceobj&nbsp;(vla-get-modelspace p2c::acaddocobj)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p2c::pspaceobj&nbsp;(vla-get-paperspace p2c::acaddocobj)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p2c::docobj&nbsp;(vla-get-documents p2c::acadobj)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p2c::blocksobj&nbsp;(vla-get-blocks p2c::acaddocobj)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p2c::layersobj&nbsp;(vla-get-layers p2c::acaddocobj)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p2c::textstyles&nbsp;(vla-get-Textstyles p2c::acaddocobj)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p2c::linetypes&nbsp;(vla-get-linetypes p2c::acaddocobj)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p2c::menugroupsel&nbsp;(vla-get-menugroups p2c::acadobj)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p2c::menugroup&nbsp;(vla-item p2c::menugroupsel 0)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p2c::menuobj&nbsp;(vla-get-menus p2c::menugroup)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p2c::toolbars&nbsp;(vla-get-toolbars p2c::menugroup)<BR>)</P>
<P>就好了.</P>

rongyifei 发表于 2006-11-12 20:14:00

多谢!

tcsl9621 发表于 2006-11-12 22:09:00

这是我编的程序中的一部分。现在这已是我所有程序都用的成熟代码。

qianglcq 发表于 2006-12-10 15:53:00

<p>多谢版主分享</p>

li_abcxyz 发表于 2006-12-14 19:44:00

<p>谢谢,获益匪浅呢</p>
页: [1] 2 3
查看完整版本: 原创VLISP中创建文字样式和图层源程序