rodrigo_gcmsoft 发表于 2022-7-6 22:47:49

标注多段线

大家好,我是罗德里戈,来自巴西。
谁来帮帮我,我是autocad的新手。网
如何使用c#创建多段线尺寸。网
我有实体的ObjectId,但我不知道应用维度。
坦克!
罗德里戈

SEANT 发表于 2022-7-6 22:54:15

我想象AlignedDimension对象将进入
玩跨过多段线的
顶点,并使用这些点作为维度构造函数可能是
解决方案。
 
“标注多段线”有很多可能的含义,
尽管如此,一个能够解释所有这些问题的程序将是公平的
复杂的你有样图吗
新闻组可以查看所需的参数
要解决的问题?

rodrigo_gcmsoft 发表于 2022-7-6 23:05:24

抱歉问这么多。我对autocad还是新手,我的经验是使用c。我来自巴西,不会说太多英语,请使用谷歌翻译使用论坛。我需要做最简单的缩放。我已经选择了多段线的objectid,只从每个节点获取一个份额(配额)。
谢谢你的帮助!
罗德里戈
 
例子:
http://img812.imageshack.us/img812/5176/exemplof.th.jpg

fixo 发表于 2022-7-6 23:05:54

 
这样做可能会有所帮助:
公共静态void PlineDimensioning(){//this.Hide();数据库db=HostApplicationServices.WorkingDatabase;文档doc=Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;编辑器ed=doc.Editor; 事务tr=db。TransactionManager。启动Transaction();使用(tr){try{BlockTableRecord btr=(BlockTableRecord)tr.GetObject(db.CurrentSpaceId,OpenMode.ForWrite)作为BlockTableRecord;平面图=新平面(Point3d.Origin,ed.CurrentUserCoordinateSystem.CoordinateSystem3d.Zaxis);类型值[]填充列表=新类型值{新类型值((int)DxfCode.Start,“LWPOLYLINE”)、新类型值(70,1)、新类型值(90,4)};SelectionFilter filter=新的SelectionFilter(filList);PromptSelectionResult sres=ed.GetSelection(过滤器);if(sres.Status!=PromptStatus.OK)返回;SelectionSet selSet=sres。价值if(selSet.Count==0){//MessageBox.Show(“未选择任何内容”);return;}  ObjectId[]ID=selSet。GetObjectId();foreach(ObjectId id id in ids){Polyline poly=(Polyline)tr.GetObject(id,OpenMode.ForRead,false);double parea=poly.Area;string strarea=string.Format(“Area=+@”\H1.2x;{0:f2}m\H0.7x;\S2^;”,parea);//

rodrigo_gcmsoft 发表于 2022-7-6 23:15:55

谢谢菲索!
这正是我需要的!
我将学习这段代码来改变设计风格,但常规工作非常完美。
非常感谢。

fixo 发表于 2022-7-6 23:21:09

 
我认为您可能希望首先使用snap to near沿着lote的任意一侧拾取两点
若要确定多行文字旋转角度,还可能需要抑制尺寸线
因此,屏幕上将只显示一个维度文本
快乐计算
 
~'J'~

rodrigo_gcmsoft 发表于 2022-7-6 23:26:42

 
我只需要这些值​​平行于每条线。我需要看看如何让价值观​​在对象内部,而不是现在的中间。还必须学会设置字体大小。我对autocad还是新手,学习速度很慢。非常感谢!
罗德里戈

fixo 发表于 2022-7-6 23:34:52

我已略微编辑了此代码,请重试
 
公共静态void PlineDimensioning(){Database db=HostApplicationServices.WorkingDatabase;Document doc=Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;Editor ed=doc.Editor;PromptDoubleOptions pdo=new PromptDoubleOptions(“\n输入文字高度:”);pdo.AllowNone=true;pdo.UseDefaultValue=true;pdo.DefaultValue=2.5;/

SEANT 发表于 2022-7-6 23:36:45

@Fixo公司
 
 
奥列格,做得好。
 
我本来打算写一个示例例程,但可能需要一天或更长的时间
二很高兴看到一个更及时的
回复此帖子。
 
我从来不是一个特别快的程序员。
很多时候,一个原创海报(OP)已经转移到其他事情上
是我准备样品的时候了。这使得我的许多贡献都没有得到评论。
 
我仍然认为我们尽力做到最好是很重要的。

fixo 发表于 2022-7-6 23:42:53

@肖恩
 
非常感谢Sean
我只是从我现有的程序中收集了一些代码
事实上,我用我唯一孤独的胖手指打字很慢
 
祝你一切顺利,
 
祝你好运,朋友
 
~'J'~
页: [1] 2
查看完整版本: 标注多段线