我尝试使用 netload 命令在 accoreconsole.exe (AutoCAD 2016) 中加载自定义 .net dll,但无法加载 dll。
以下是 accoreconsole.exe 的输出:
Redirect stdout (file: C:\Users\amitp\AppData\Local\Temp\accc37242).
AutoCAD Core Engine Console - Copyright Autodesk, Inc 2009-2013.
Usage:
AcCoreConsole.exe [/i <input dwg>] /s <script>[/product <product>] [/l <language
>] [/isolate <userid> <userDataFolder>] [/readonly] [/p[rofile] <profile>]
Example:
AcCoreConsole.exe /i 8th_floor.dwg /s test.scr /l en-US
Regenerating model.
**** System Variable Changed ****
1 of the monitored system variables has changed from the preferred value. Use SY
1 of the monitored system variables has changed …Run Code Online (Sandbox Code Playgroud) 我正在开发一个 AutoCAD 插件,它使用 .NET 4.6 程序集。我发现开发过程非常令人沮丧;API 非常大,除了入门之外的文档也到处都是,而且很难找到。完成任何事情的唯一方法似乎就是在 Visual Studio 中制作函数原型并查看它是否有效。然后需要几分钟的时间来加载 AutoCAD 并附加调试器,这破坏了我的原型制作工作流程。
如果我可以使用 Linqpad 之类的东西来制作我的应用程序原型,这样我就可以找到我正在寻找的数据,那将会非常方便。我并不认同使用 Linqpad 的想法;然而,如果我缺少另一种技术,我很想听听。
我不确定这是否是我可以通过专业版实现的目标,但由于没有试用,我无法找到答案。
我使用dot net 3.50进行autocad添加,我从autocad 2012引用acdbmgd.dll,acmgd.dll如果我应该引用acdbmgd.dll,acmgd,我该怎样做才能使它在autocad 2010和autocad 2011上运行.来自autocad 2010的dll我可以获得这个dll而我只有autocad 2012
我正计划开发一款软件,该软件可以读取和处理.dwg文件中的数据。我决定不使用自己的库来处理数据文件的“读取”,而是决定使用RealDWG或Teigha,但是我一直在努力确切地了解它们的工作方式。
我希望在承诺支付许可之前先试用图书馆。我注意到RealDWG是ObjectARX(更具体地说是ObjectDBX)的子集,我可以从中获得试用许可证。因此,如果我下载ObjetARX,是否可以使用ObjectDBX子集来开发应用程序原型?这样做的局限性(如果有)是什么?
我的另一个选择是使用Teigha,从长远来看,这会比RealDWG慢吗?使用RealDWG或Teigha的利弊是什么?
我写了一个 lisp,它涉及设置一个变量,然后在循环内选择点。一旦我决定完成点的选择,我希望能够在按下退出键时将该变量恢复到原来的状态。例如。
(defun c:df ()
(setq oom (getvar "osmode")) ;store current state
(setq type(getint "\nEnter Type: 1 For Horizontal, 2 For Vertical : "))
(setq startpt (getpoint "\nChoose Start Point : "))
(setq ptx (+ (nth 0 startpt)10))
(setq pty (+ (nth 1 startpt)10))
(setvar "osmode" 2); change state state
(while
(setq nextpt (getpoint "'Pick Mid: ")) ;make selection
(if (null nextpt) ((princ "\nNull Value Error.") return))
(if (= type 1) (command "dimlinear" startpt nextpt "H" (list 0 pty) )) …Run Code Online (Sandbox Code Playgroud) 自动加载应用程序的方法很少 - AutoCAD启动时的插件.我知道那些:
%appdata%....\support\zwcad2018.lsp(我使用ZWCAD,也许在Acad中,还有另一条路径.很久以前,当我在Acad上工作时,它是acad.lsp,但那是Windows UAC功能之前的时间).*.mnl 在加载相应的*.mnu时加载(旧方式,但ZWCAD可能),Acad怎么样?HKEY_CURRENT_USER\Software\ZWSOFT\ZWCAD\2018\en-US\Applications\MyApplicationName zwcaddoc.lsp 如果我的应用程序的路径在选项/文件/支持文件搜索路径中 /ldswitch的应用程序快捷acad.rx 加载应用程序的方式顺序是什么?如果此处未列出其他方式,请告诉我们.也可能以另一种方式加载ARX或.Net应用程序.
我不想在运行时选择特定的折线.有没有办法在运行时使用C#直接获取.dwg文件中的所有折线?AutoCAD有一个名为DATAEXTRACTION的命令来获取不同对象的相关信息(例如折线,圆,点等),但我不知道它是否可以在C#中调用和使用.
仅供参考:从
http://through-the-interface.typepad.com/through_the_interface/2007/04/iterating_throu.html获取运行期间特定折线的示例代码:
Transaction tr = db.TransactionManager.StartTransaction();
using (tr)
{
DBObject obj = tr.GetObject(per.ObjectId, OpenMode.ForRead);
Polyline lwp = obj as Polyline; // Get the selected polyline during runtime
...
}
Run Code Online (Sandbox Code Playgroud) 我的方法是...
Autodesk.AutoCAD.Geometry.Point3d point = null;
Run Code Online (Sandbox Code Playgroud)
但我似乎无法设置 a Point3dto null。
谁能告诉我为什么以及如何检查 a 是否Point3d是null?
(Point3D我的意思是Autodesk.AutoCAD.Geometry.Point3d)
Autodesk 在这里提到 需要使用特定的 Visual Studio 版本开发 AutoCAD 插件,例如
AutoCAD 2016(支持 Microsoft Visual Studio 2012 和 2013)
AutoCAD 2015(支持 Microsoft Visual Studio 2012)
...
为什么会这样?我了解您需要根据您的 AutoCAD 版本使用特定的 .NET Framework 版本。
但为什么是 IDE?您可以为每个项目设置目标框架版本。是因为编译器/调试器问题吗?
我们计划从 AutoCAD 2012 升级到 AutoCAD 2016。所以我们需要一个新的 IDE 来安装我们的插件,并且更喜欢最新的 Visual Studio 版本 (2015)
我有一个三角形作为折线,我想绘制一个高度。我给出命令"line"或"_line"正确的点,但是AutoCAD绘制了从顶点到相邻顶点的线。
不只是在AutoLISP中,AutoCAD也不允许我在折线中从顶点到边的中间画一条线。
我怎样才能做到这一点?
我想在折线中添加一个顶点,但这并没有太大帮助。我试图添加连接器:一个圆或另一个距离该线足够近的物体,并将高度连接到该物体,但这都没有帮助。
有什么建议么?
在ModelSpace中,我的区域受到某些曲线的限制(将它们连接起来具有AcDbRegion)。
我还绘制了AcDbLine。
我需要的是分割线以仅在区域内获得线。
我知道如何获取交点,但是如何找到连接两个交点的线是否在内部?还是外面?