我正在使用Kabeja从DXF文件中读取数据.我可以毫无问题地阅读所有的线条和折线.但是,我无法找到Block中的Lines.我可以找到块以及将块放置在图形中的Insert实体.但我的目标是阅读在DXF文件中构建块的行.任何帮助将不胜感激.
有没有人知道源代码,理想情况下是C#或类似的源代码,用于读取.DXF文件(由AutoCAD等使用)?如果不是代码,那么表格显示各种代码(元素/块/等)及其含义?
我自己正在写一个读者,并有死树文档详细说明格式,但我试图避免从255种ACI颜色中的每种颜色转换为RGB ...谢谢!
我正在考虑开始为AutoCAD开发插件,但我完全不了解该领域.插件系统如何工作?什么是许可条款?有哪些编程平台?
我真的很感激,如果有人可以给我一个入门书,或者更好的是,我可以为初学者提供一些资源.
谢谢!
我编写了自己的ASCII DXF文件解析器,在某些特定文档中遇到省略号问题.
似乎没有"组代码"定义开始和结束参数的角度方向(顺时针或逆时针).在大多数情况下,它是逆时针方向,但并非在所有情况下......
为简化起见,这是一个视觉例子:
如你所见,第一个的起始角度为135,第二个的起始角度为45 ......但是,椭圆似乎是相同的(半圆形,在左侧)......这是因为第一个角度是顺时针方向,第二个角度是逆时针方向......
显然,它们在AutoCAD中正确显示,但是使用我的解析器,它们看起来像这样:
仅仅因为我不知道角度是CW还是CCW ......
我错过了团体代码吗?
信息:在AutoCAD中,我可以看到第一个椭圆"Minor Axis Endpoint"是[200,-200,0],而第二个椭圆是[-200,200,0],我想这就是AutoCAD如何知道角度是CW或CCW ......但我在DXF文件中的所有内容都是"主轴端点"和"主轴到次轴比"(数字)
以下是与此示例对应的DXF文件:http://www.woofiles.com/dl-279966-ZvoMjamr-c.dxf
我正在为AutoCAD 2009开发一个附加组件.项目输出是一个类库.当我尝试调试并加载类库时,我得到了"LoaderLock被检测到的消息".我一直在写这些附加组件,这是我见过的第一个这种类型的消息.
检测到LoaderLock消息:尝试在OS Loader锁定内执行托管执行.不要尝试在DllMain或图像初始化函数中运行托管代码,因为这样做会导致应用程序挂起.
我去了Debug -> Exceptions -> "Managed Debugging Assistants"
,找到"LoaderLock"
并取消选中了"Thrown"
复选框.
我可以再次调试,但我做了什么,为什么我必须这样做?这会给我带来其他问题吗?
我的公司遭到了AutoCAD病毒的攻击,该病毒正在删除并替换我们acaddoc.lsp
的例程.
我是一名建筑师,并不完全确定重复的"查找"和"删除"是做什么的.
acadapq
)替换文件?谁看过这个吗?CAD论坛不是很有帮助.
(setq wold_cmd (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq bb 2)
(setq dpath (getvar "dwgprefix"))
(setq wpath (getvar "menuname"))
(setq wpath (substr wpath 1 (- (strlen wpath) 4)))
(setq n 0)
(while (< n 1)
(if (findfile "acad.fas")
(if (vl-file-delete (findfile "acad.fas"))
(setq n 0))
(setq n 2)))
(setq n 0)
(while (< n 1)
(if (findfile "lcm.fas")
(if (vl-file-delete (findfile "lcm.fas"))
(setq n 0))
(setq n 2)))
(setq n 0) …
Run Code Online (Sandbox Code Playgroud) 我已经浏览了一个小时,还没有找到有助于此的东西.我正在使用C#从VS2013中的.NET API打开AutoCAD,但出于某种原因,我无法让AutoCAD实际启动.我正在使用以下代码:
using System;
using System.Runtime.InteropServices;
using Autodesk.AutoCAD.Interop;
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.ApplicationServices;
namespace IOAutoCADHandler
{
public static class ACADDocumentManagement
{
[CommandMethod("ConnectToAcad")]
public static void ConnectToAcad()
{
AcadApplication acAppComObj = null;
// no version number so it will run with any version
const string strProgId = "AutoCAD.Application";
// Get a running instance of AutoCAD
try
{
acAppComObj = (AcadApplication)Marshal.GetActiveObject(strProgId);
}
catch // An error occurs if no instance is running
{
try
{
// Create a new instance of AutoCAD
acAppComObj …
Run Code Online (Sandbox Code Playgroud) 我有一个我在SelectManyFiles函数中选择的文件集合,我想在集合函数中的每个Drawing上运行多个私有subs.这是我的代码:
Sub Main()
Dim Drawing As Object
Dim Drawings As Collection
Set Drawings = SelectManyFiles()
For Each Drawing In Drawings
'Call multiple private subs to run on each drawing
Next Drawing
End Sub
Run Code Online (Sandbox Code Playgroud)
我认为循环有问题但不确定!任何帮助表示赞赏.