关于尺寸标注样式的问题!如何获得两种不同的标注样式???求救!求救!
本帖最后由 故城 于 2012-8-20 09:07 编辑图一:理想标注效果
图二:实际标注效果
本来需要角度尺寸标注的时候,需要尺寸水平显示。直线距离标注的时候,需要尺寸与尺寸线平行。现在实际的效果是任何标注,其尺寸都和尺寸线平行。
C#获取标注样式的代码
public static ObjectId curDimstyle;
Database db = HostApplicationServices.WorkingDatabase;
curDimstyle = db.Dimstyle;
C# 标注方法
角度标注
ModelSpace.AddDimLineAngular(new Point3d(155.2378, 159.6099, 0), new Point3d(170.1709, 155.1832, 0), new Point3d(166.3833, 161, 0), new Point3d(176.8755, 161, 0), new Point3d(170, 159, 0), "2%%D%%P1%%D" , curDimstyle);
直线距离标注
ModelSpace.AddDimRotated(0, new Point3d(40, 150.5, 0), new Point3d(90.0096, 151.7562, 0), new Point3d(65, 139, 0), "0.1~0.25", curDimstyle);
我在CAD模版中已经设置好的标注样式,手动标注都没有问题,可以实现图一的效果。可是用上面代码进行标注的时候,却出现图二的效果。不知问题出在哪了?或者有没有方法用C#获得两个标注样式,角度标注用curDimstyle1,直线距离标注用curDimstyle2.
求各位大师指导啊!!!
为什么还没人解答呢?我是新手,求大家指点! 故城 发表于 2012-8-21 08:46 static/image/common/back.gif
为什么还没人解答呢?我是新手,求大家指点!
使用的还是com方式呀,为什么不用net api liuxu042 发表于 2012-8-21 15:07 static/image/common/back.gif
使用的还是com方式呀,为什么不用net api
大哥,您说得范围有点广,能否解决我这当前的问题啊!? 不知道标注样式的类名称?用下面这段代码
public void EntName()
{
while (true)
{
PromptEntityOptions m_peo = new PromptEntityOptions("\n请选择一个实体");
PromptEntityResult m_per = m_ed.GetEntity(m_peo);
if (m_per.Status != PromptStatus.OK) return;
Entity m_ent = (Entity)mFun.m_OpenEntity(m_per.ObjectId);
m_ed.WriteMessage(" -->实体类名:{0}|DXF名:{1}", m_ent.GetType().Name, ((RXClass)m_ent.GetRXClass()).DxfName);
}
}
自己解决了,是属性 Dimtoh = true
下载的“AutoCAD .net开发人员手册中文版 ”有介绍到这个属性,里面的中文翻译让我产生了误解,所以一直没有尝试改这个属性,在CAD自带的帮助文档里面有属性的详细介绍
页:
[1]