几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量  


返回   几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 » 仿射空间:CAX软件开发(三)二次开发与程序设计 » CAD二次开发 » AutoCAD二次开发 » ObjectARX(VB.NET/C#)
用户名
密码
注册 帮助 会员 日历 银行 搜索 今日新帖 标记论坛为已读


 
 
主题工具 搜索本主题 显示模式
旧 2009-04-20, 12:17 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】sendstringtoexecute字符串参数的设置(autocad: off 输入要关闭的图层名列表或 <选择对象>: * 确实希望关闭图层“0”(当前图层)

sendstringtoexecute字符串参数的设置(autocad: off 输入要关闭的图层名列表或 <选择对象>: * 确实希望关闭图层“0”(当前图层)? y 输入选项 [?/生成(m)/设定(s)/新建(n)/开(on)/关(off)/颜色(c)/线型(l)/线宽(lw)/材质(mat)/打印(p)/冻结(f)/解冻(t)/锁定(lo)/解锁(u)/状态(a)]:(此处实际是一回车)命令: 如果按照下面执行: doc.sendstringtoexecute("-layer off * y", false, false, true) 命令行文本窗口显示如下:命令: -layer 当前图层: 0 输入选项 [?/生成(m)/设定(s)/新建(n)/开(on)/关(off)/颜色(c)/线型(l)/线宽(lw)/材质(mat)/打印(p)/冻结(f)/解冻(t)/锁定(lo)/解锁(u)/状态(a)]: off 输入要关闭的图层名列表或 <选择对象>: * y 此时执行到上面一行后光标就在y之后闪烁,没有执行完毕。可以估计,sendstringtoexecute执行字符串参数时,把字符串参数的第1项(即"-layer")作为命令,把第2项(即"off")作为第1项的参数,第1项和第2项后面的空格都能识别为回车,但在第2项后的空格之后的字符串都只作为1个参数传递到命令行(无论包含空格与否),即整个字符串参数的第2个空格之后的空格都不再识别为回车,要让命令行识别回车,就要用代表回车的转义字符chr(13)。这样代码可以改为(注意引号内没有空格): doc.sendstringtoexecute("-layer" & chr(13) & "off" & chr(13) & "*" & chr(13) & "y" & chr(13) & chr(13), false, false, true) 命令行文本窗口显示如下:命令: -layer 当前图层: 0 输入选项 [?/生成(m)/设定(s)/新建(n)/开(on)/关(off)/颜色(c)/线型(l)/线宽(lw)/材质(mat)/打印(p)/冻结(f)/解冻(t)/锁定(lo)/解锁(u)/状态(a)]: off 输入要关闭的图层名列表或 <选择对象>: * 确实希望关闭图层“0”(当前图层)? y 输入选项 [?/生成(m)/设定(s)/新建(n)/开(on)/关(off)/颜色(c)/线型(l)/线宽(lw)/材质(mat)/打印(p)/冻结(f)/解冻(t)/锁定(lo)/解锁(u)/状态(a)]: 命令: 但上面的显示较正常显示(手动执行-layer)时多了几行空行,这是因为sendstringtoexecute的最后一个参数设置为true,将字符串参数中的每一项都显示了出来(包括回车),如果设为false的话就不会有空行出现了。当然还可以改写如下: doc.sendstringtoexecute("-layer off *" & chr(13) & "y" & chr(13) & chr(13), false, false, true) 其结果与前一次的结果一样,只是"-layer"和"off"后没有多余的空行。在dotnetarx4.0中有sendcommand方法,其参数为 tools.sendcommand("_circle","2,2,0","4");(c#)可以简化输入,其中原理还请admin指点(难道该方法自动在各项后面加chr(13)?)。至于字符串参数中有其他非文本输入,如move命令,字符串参数中需要包含要移动的对象以及基点等,本人就无能为力了,还请高人指点;以上如有谬误也请一并斧正。
你可以使用lisp命令,就可以带参数了。 dim comstr as string = "(command " & chr(34) & "_.zoom" & chr(34) & " " & chr(34) & "_a " & chr(34) & " )" doc.sendstringtoexecute(comstr, false, false, false)
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)
 


主题工具 搜索本主题
搜索本主题:

高级搜索
显示模式

发帖规则
不可以发表新主题
不可以回复主题
不可以上传附件
不可以编辑您的帖子

vB 代码开启
[IMG]代码开启
HTML代码关闭



所有的时间均为北京时间。 现在的时间是 06:46 AM.


于2004年创办,几何尺寸与公差论坛"致力于产品几何量公差标准GD&T | GPS研究/CAD设计/CAM加工/CMM测量"。免责声明:论坛严禁发布色情反动言论及有关违反国家法律法规内容!情节严重者提供其IP,并配合相关部门进行严厉查处,若內容有涉及侵权,请立即联系我们QQ:44671734。注:此论坛须管理员验证方可发帖。
沪ICP备06057009号-2
更多