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");
}