yun111 发表于 2007-2-2 10:02:00

c#如何调用AutoCAD命令,让用户输入参数?

<p>c#如何调用AutoCAD命令,让用户输入参数?</p><p>如使用pedit命令,需要选择是否转换多义线?</p><p>选择合并中,Y和J这两个参数都需要从命令行输入,C#程序如何实现呢?谢谢!</p>

meworld 发表于 2007-2-6 12:48:00

<p>以下是我的程序中的一段,应该能回答楼上的问题吧,不知道对楼上的有没有帮助。</p><p>&nbsp;&nbsp;&nbsp;Database db = HostApplicationServices.WorkingDatabase;<br/>&nbsp;&nbsp;&nbsp;Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;<br/>&nbsp;&nbsp;&nbsp;PromptDoubleOptions SourceOptions = new PromptDoubleOptions("\n请输入原中央经线");<br/>&nbsp;&nbsp;&nbsp;SourceOptions.DefaultValue = 123;<br/>&nbsp;&nbsp;&nbsp;PromptDoubleOptions DestinationOptions = new PromptDoubleOptions("\n请输入转换后中央经线");<br/>&nbsp;&nbsp;&nbsp;DestinationOptions.DefaultValue = 121.30;<br/>&nbsp;&nbsp;&nbsp;PromptResult GeoEllip = ed.GetKeywords("\n椭球体选择:1.WGS-84 2.Krassovsky",new string[]{"1","2"});<br/>&nbsp;&nbsp;&nbsp;if(GeoEllip.Status != PromptStatus.OK) return;<br/>&nbsp;&nbsp;&nbsp;PromptDoubleResult SourceCL = ed.GetDouble(SourceOptions);<br/>&nbsp;&nbsp;&nbsp;if(SourceCL.Status != PromptStatus.OK) return;<br/>&nbsp;&nbsp;&nbsp;PromptDoubleResult DestinationCL = ed.GetDouble(DestinationOptions);<br/>&nbsp;&nbsp;&nbsp;if(DestinationCL.Status != PromptStatus.OK) return;<br/>&nbsp;&nbsp;&nbsp;ed.WriteMessage("\n开始坐标换带,请稍候。");<br/>&nbsp;&nbsp;&nbsp;Transaction trans = db.TransactionManager.StartTransaction();<br/>&nbsp;&nbsp;&nbsp;BlockTableRecord btr = (BlockTableRecord)trans.GetObject(db.CurrentSpaceId,OpenMode.ForRead);<br/></p>

yun111 发表于 2007-4-13 15:59:00

本帖最后由 作者 于 2007-4-13 16:11:59 编辑

感谢楼上meworld分享代码!能单独说明一下调用CAD中命令的实例吗?比如sendStringToExecute的用法?谢谢!

fairfanfan 发表于 2008-2-27 13:49:00

<p>怎样用C#调用Addhacth()函数</p><p></p>

wangfen_feng 发表于 2008-7-31 15:35:00

向2楼的多多学习!!!以后多多交流啊!!!!

genhao5 发表于 2010-8-17 17:03:00

唔 没看懂...是不是没有发完呢..<div>怎么用C# api 发送 CAD命令 并且带参数呀..</div>

雪山飞狐_lzh 发表于 2010-8-17 21:18:00

<font face="Verdana">http://bbs.mjtd.com/forum.php?mod=viewthread&tid=78074</font>
页: [1]
查看完整版本: c#如何调用AutoCAD命令,让用户输入参数?