乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 58|回复: 3

[编程交流] .NET代码在AC201中运行良好

[复制链接]

180

主题

639

帖子

463

银币

中流砥柱

Rank: 25

铜币
897
发表于 2022-7-6 22:01:33 | 显示全部楼层 |阅读模式
好吧,就这么定了。我昨天在运行一台有AutoCAD 2013的机器。我还在Visual Studio Express中使用一个C#程序,该程序收集了一些数据,启动了AutoCAD 2013,加载并执行了一个LISP文件,该文件准备并保存了一个图形。一切都很好。
 
昨晚他们把我的系统升级到了一台新的更快的机器上,它有AutoCAD 2015 Mechanical。我使用的是相同的Visual Studio C代码和相同的LISP代码。该过程开始,AutoCAD打开并启动图形,但随后暂停。我可以看到它暂停的地方,我检查了LISP代码是否有任何异常,但似乎什么都没有。因此,我在2015年机器上加载了LISP代码,打开了LISP IDE,并从AutoCAD命令行运行它,它运行良好。只有当我使用AutoCAD 2015从C代码运行它时,它才会暂停。
 
如果我将窗口聚焦在AutoCAD窗口上并单击鼠标或按enter键,则可以继续暂停。但这只发生在2015年的机器上。使用完全相同的代码,这种暂停不会在2013年的机器上发生。是的,当我在机器之间切换时,我用VS中的2015 COM引用替换了2013 COM引用。
 
我确切地知道代码暂停的位置,它位于两个dimlinear命令之间:
  1. (command "._DIMLINEAR" (polar (polar pt1 pi 4) a90 2) (polar (polar pt2 0 4) a90 2) (polar pt1 a90 24) "")
  2. (command "._DIMLINEAR" (polar (polar pt1 pi 2) a90 4) (polar (polar pt4 pi 2) a270 4) (polar pt1 pi 24) "")

第一个dimlinear命令执行,然后在2015年暂停。除非我与第二个命令交互,否则它不会执行。正如你们大多数人所知,我正在开发严格自动化的程序,这些程序不能依赖于任何类型的用户输入。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-6 22:23:19 | 显示全部楼层
你好
 
切换到cad 2015时,将命令调用名称“command”替换为“command-s”,然后重试。
回复

使用道具 举报

180

主题

639

帖子

463

银币

中流砥柱

Rank: 25

铜币
897
发表于 2022-7-6 22:42:13 | 显示全部楼层
谢谢负责指挥。。。。但在那之后它又停了下来。这是AutoCAD 2015或Mechanical独有的“-s”。。。。如果是这样,我是否应该将所有的“command”更改为“command-s”?这没有问题,但至少有一些没有-s的命令正在工作。
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 23:10:21 | 显示全部楼层
http://through-the-interface.typepad.com/through_the_interface/2014/03/autocad-2015-calling-commands.html
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-4 09:02 , Processed in 1.037088 second(s), 60 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表