![]() |
【转帖】csharp-com
csharp_com
www.dimcax.com csharp_com using system; using autodesk.autocad.databaseservices; using autodesk.autocad.runtime; using autodesk.autocad.geometry; using autodesk.autocad.applicationservices; using system.reflection; using system.io; using system.collections; using system.runtime.interopservices; using autodesk.autocad.interop; using autodesk.autocad.interop.common; using system.diagnostics; using autodesk.autocad.plottingservices; using autodesk.autocad.colors; using dbtransman = autodesk.autocad.databaseservices.transactionmanager; namespace setenv { public class entities_com { private acadapplication acadapp; private acaddocument acaddoc; public entities_com() { acadapp=(acadapplication)application.acadapplication; acaddoc=acadapp.activedocument; } //添加新线型 public void loadlinttype(string ltname) { bool hasthislinetype=false; foreach (acadlinetype entry in acaddoc.linetypes) if(entry.name==ltname) { hasthislinetype=true; } if(!hasthislinetype) { acaddoc.linetypes.load(ltname,"acad.lin"); commandlineprompts.message(string.format("加载线型 {0}",ltname)); } } //插入块 public bool insertblock(point3d basept,string blkname) { double[] pt=new double[3]; acadblockreference blockrefobj; pt[0]=basept[0]; pt[1]=basept[1]; pt[2]=basept[2]; blockrefobj=acaddoc.modelspace.insertblock(pt,blkname,1.0,1.0,1.0,0,""); if(blockrefobj!=null) { blockrefobj.explode(); return true; } else { commandlineprompts.message(string.format("未找到 {0} 块!",blkname)); return false; } } public bool settextstyle(string tstname) { acadtextstyle newtext=acaddoc.textstyles.add(tstname); newtext.bigfontfile="hztxt.shx"; newtext.fontfile="simplex.shx"; newtext.height=5.0; newtext.width =0.7; return true; } } } 调用 [commandmethod("mycmd2")] public static void mycmd2() { entities_com ets=new entities_com(); ets.settextstyle("hz1"); } [commandmethod("mycmd3")] public static void mycmd3() { entities_com ets=new entities_com(); ets.loadlinttype("dashdot"); point3d basept=new point3d(0,0,0); ets.insertblock(basept,"heada.dwg"); } |
| 所有的时间均为北京时间。 现在的时间是 07:53 PM. |