davehuhudave 发表于 2010-11-25 09:00:00

关于选定的实体丢失选择的问题

<p>问了制作块,我首先选择了一些实体,然后用程序调用block命令制作块,此时我选择的实体就全部显示为非选择状态,而直接在cad调用block命令是可以继续保留选择状态的,不知道什么原因?</p>

雪山飞狐_lzh 发表于 2010-11-25 09:46:00

<p>这个功能NetApi本身可以实现的,为什么要调用命令呢</p>

davehuhudave 发表于 2010-11-25 09:46:00

另外有个问题:调用block命令时候能不能传 块名 这个参数,这样就不需要用户输入块名了

davehuhudave 发表于 2010-11-25 11:08:00

<font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 用doc.SendStringToExecute(cmd, True, False, False)调用的,以调用就选择的实体不选择了<br/></font>

雪山飞狐_lzh 发表于 2010-11-25 12:43:00

<p>SendStringToExecute最好不要用</p>
<p>用BlockTable.Add可以实现你的功能</p>

davehuhudave 发表于 2010-11-25 13:43:00

版主同志,能不能具体点,1,SendStringToExecute不用那用什么?2 ,BlockTable.Add视乎没有嘛,我要做的是弹出cad系统自带的block制作框,然后传入block名字参数,这样不用自己输入块名

雪山飞狐_lzh 发表于 2010-11-25 16:18:00

<font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public ObjectId AddBlock(string name)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ObjectId id = BlockTable.GetRecorId(name);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (id == ObjectId.Null)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BlockTable.UpgradeOpen<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; () =&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BlockTableRecord btr = new BlockTableRecord();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; btr.Name = name;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id = BlockTable.Add(btr);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Transaction.AddNewlyCreatedDBObject(btr, true);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; );<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return id;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</font>

davehuhudave 发表于 2010-11-25 16:32:00

不是这个意思,我不用程序实现,想调用cad的block制作框实现,但是他的块名不想自己输入,而是想问通过什么方式传入block命令里头

雪山飞狐_lzh 发表于 2010-11-25 16:42:00

<p>这个,最好自己做界面实现,直接调用命令基本上达不到你的要求</p>
<p>如果想偷懒,平台调用应该可以实现,但问题是你要先找到block命令的C++函数的入口点,很头大</p>

davehuhudave 发表于 2010-11-26 08:44:00

God, 那只好不管了,;;另外SendStringToExecute不用的话用什么好呢?
页: [1]
查看完整版本: 关于选定的实体丢失选择的问题