问题标签 [objectarx]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
9398 浏览

java - AutoCAD 与 JAVA 的接口

关于通过 JAVA 程序与 AutoCAD 交互的任何想法。我正在寻找一种可以直接与 AutoCAD 会话(甚至启动一个)交互的解决方案,它与 AutoCAD 的 .NET 扩展一起工作的方式。或者通过 JAVA 使用 ObjectARX 的任何方式,绝对不会在其上编写完整的 JNI 包装器。

补充:我们正在寻找开源的东西。如果没有,我们准备在开源中创建一个,如果有人可以伸出援助之手解释如何做到这一点。我们已经了解了 JNA 和 JaWin。JNA 与 JNI 结合可能会有所帮助,但太丑陋了。另一方面,JaWin 在过去 4 年没有更新,所以对使用它持怀疑态度。

0 投票
4 回答
4570 浏览

autocad - COM 中的 SaveAs 挂 AutoCAD

我正在实现一个应用程序,它在 AutoCAD 的 ObjectARX 界面中使用 COM 来自动执行绘图操作,例如打开和另存为。

根据文档,我应该能够调用 AcadDocument.SaveAs() 并传入文件名、“另存为类型”和安全参数。文档明确指出,如果 security 为 NULL,则不会尝试与安全相关的操作。然而,它并没有给出任何正确的对象类型指示作为“另存为类型”参数传递。

我尝试使用文件名调用 SaveAs,其余参数为 null,但我的应用程序挂在该方法调用上,并且 AutoCAD 似乎崩溃了 - 您仍然可以使用功能区,但无法对工具栏执行任何操作并且无法关闭AutoCAD。

我有一种感觉,这是我的 NULL 参数在这里造成了悲痛,但是 COM/VBA 部门严重缺乏文档。事实上,它说 AcadDocument 类甚至没有 SaveAs 方法,它显然有。

这里有没有人实施过同样的事情?有什么指导吗?

另一种方法是我使用 SendCommand() 方法发送 _SAVEAS 命令,但我的应用程序正在管理一批绘图并且需要知道 a) 保存是否失败,以及 b) 保存完成时(我正在这样做)监听 EndSave 事件。)

编辑

这是所要求的代码 - 它所做的只是启动 AutoCAD(或连接到正在运行的实例,如果它已经在运行),打开现有图形,然后将文档保存到新位置(C:\Scratch\Document01B.dwg。)

然后在我的 AutoCad 类中(this._acadDocument 是 AcadDocument 类的一个实例。)

0 投票
2 回答
1441 浏览

.net - 在 AutoCAD 中使用文字样式创建线条/几何图形

我正在使用 ObjectARX .Net API 在 AutoCAD 中工作。有没有办法使用线条/曲线/折线创建文本,或将现有文本对象分解成线条/等?最好我希望能够根据现有的 AutoCAD 文本样式生成线条。

编辑:我可以在这里找到 TxtExp 命令的来源。然而,它在 AutoCAD 自己的 Lisp 语言中,我无法确定它的正面或反面。

编辑:查看 TxtExp 的来源,它只是将文本导出为 WMF 文件,然后将其导入。不幸的是,没有为导入和导出 WMF 文件而公开的 .NET API,因此我不能使用该方法来执行此操作。

0 投票
1 回答
631 浏览

autocad - A在 AcadTable 中插入块

我需要插入一个AcadBlockReferenceinto AcadTable,但是我的 blockObjectId属性有一个错误。

错误:无效类

0 投票
1 回答
1678 浏览

c# - 如何使用 objectARX 2012

我想通过 ObjectARX 类和方法在我的 c# 应用程序中将 .dwg 文件打印到打印机,但我在 ObjectARX 方面太初学者了。我应该使用哪些类和方法?还有其他方法吗?

0 投票
0 回答
6633 浏览

autocad - 如何学习objectArx?

我有中级 c++ 知识,我正在为 autocad 编写一些 c# 工具,现在我想学习 ObjectArx

我花了一些时间在谷歌上寻找教程或其他东西,然后获取链接http://arxdummies.blogspot.com/

这只是网上有用的链接,不幸的是,博客写于 2005 年,我们在 2011 年,有 autocad 2012 和 Visual Studio 2010,这是很大的不同

任何一本最近的教程或免费书籍都可以从它开始

谢谢

0 投票
3 回答
906 浏览

c# - 错误:类型初始化异常

我找到了使用 objectARX 命令在 autocad 中打开 dwg 文件的代码。当我在类库项目中编写此代码时,它可以成功运行,但是当我想将此代码放在我的 Windows 应用程序中时,就会出现问题。它给出了我这个错误信息:

'< Module >' 的类型初始化程序引发了异常。

内部异常:C++ 模块在进程初始化期间未能加载。

我的代码是:

注意:我已经从 autocad 安装文件夹中添加了 acdbmgd.dll 和 acmgd.dll,还从 COM 参考中添加了 AutoCAD 和 AXDBLib。

请帮我...

0 投票
2 回答
9652 浏览

c# - 如何使用 .NET 获取所有打开的 AutoCad 文档(图纸)

我正在使用 AutoCAD 2012 和 .NET API。有人可以帮我如何遍历所有打开文档的文档对象吗?我正在尝试执行以下代码之类的操作..我在 Autodesk 论坛上也有这个问题..但不确定它的活跃程度:)

0 投票
1 回答
2112 浏览

wpf - 使用 ShowModalWindow 时在 c# 中设置 WPF AutoCAD 对话框的开始位置

我正在使用 AutoCad 启动 WPF 窗口

我希望此对话框在打开时始终出现在左侧。我尝试将 myWindow.Left 设置为 AutoCAD 主窗口的 x 坐标并设置为 0,但它始终出现在它的最后一个位置。在 WPF 中使用 Window.Show() 时可以设置位置,但需要 AutoCAD API 的 ShowModalWindow 方法,以便窗口始终位于 AutoCAD 之上,而不是任何其他程序,并且可以使用 AutoCAD 将其最小化。

0 投票
1 回答
1098 浏览

autocad - AutoCAD 插件 - 开发人员符号注册

我使用 ObjectARX SDK、C# 和 VS2010 的 Autodesk 插件模板开发了一个插件。插件在启动时通过 SDK 文件中记录的注册表项加载到 AutoCAD 中。

插件本身将私下分发,不会提交给 Autodesk 为 AutoCAD 产品提供的“市场”。

我注意到 AutoDesk 网站上有一个关于通过RDS 方案注册自定义前缀的部分。

在以下区域中可以找到与默认模板不同的代码:

  • 命名空间,例如“MyNamespace.Utility”
  • 自定义类 MyClass.cs
  • 自定义函数,例如 LogData()
  • 自定义命令,例如“DEBUGDATA”

根据当前的实现和预期的使用/分发方法,是否需要符号注册?我问,因为我不确定如果用户使用的另一个插件具有例如“DEBUGDATA”命令会发生什么。

如果需要符号注册,我在哪里可以找到它在代码中实现的清晰示例?

非常感谢