2013-07-25 2 views
1

을 사용하여 3D 드로잉을 2D 드로잉으로 변환해야합니다. 그래서 이것을 자동화하는 도구를 만들어야합니다.3D 드로잉을 2D 드로잉으로 변환 AutoCAD에서 C#

저는 어떻게 시작해야하고 어디에서 자료를 얻을 수 있는지 모르겠습니다.

이 도구를 만들려면 몇 가지 아이디어를 제공해주십시오.

저는 Autocad2007을 사용하고 있으며 C#으로 도구를 만들어야합니다.

+0

AutoCAD가 COM 자동화를 제공한다고 생각합니다. 기본적으로 사용자 입력을 시뮬레이트하는 매크로를 작성할 수 있습니다. 이 옵션은 어딘가에 CAD에서 사용할 수 있어야합니다. 아이디어는 매크로를 C#으로 "아웃소싱"하는 것입니다. – jnovacho

+0

어떤 AutoCAD 버전입니까? 이미 C#/VB.NET API입니까? [AutoDesk] (http://usa.autodesk.com/adsk/servlet/index?id=18162650&siteID=123112)에서이 유용한 링크를보십시오. – ja72

+0

AutoCAD 2007을 사용 중입니다. – Sivaperuman

답변

7

AutoCAD Express Tools에는이 문제를 해결할 수있는 "Flatten"이라는 방법이 있습니다. 그러나 실제로 그것을 사용하는 사람은 그것이 항상 일을 끝내지는 않는다는 것을 알고 있습니다.

이것은 분명히 가능하며 C#에서 네이티브 인 프로세스 AutoCAD 라이브러리를 사용하여 엔티티를 탐색 할 수 있습니다. (AcMdg.dll, AcDbMdg.dll)

이 엔티티 유형으로 접근합니다. 각 엔티티는 AutoCAD에서 z 축을 다르게 처리하므로 사전에 버킷으로 그룹화하고 일괄 적으로 처리합니다. 시작점과 끝점에서 z 축을 0으로 변경할 수 있고 선이 올바르게 기억되면 폴리선이 높이를 가질 수 있으므로 선이 간단합니다. 3D 폴리 라인은 각 꼭지점을 걸어서 개별적으로 설정해야합니다. 원은 중심점을 z = 0으로 직접 설정할 수 있습니다 ... 내가 무엇을 얻는 지 봅니다. AutoCAD 문서를 살펴보고 발생할 수있는 모든 엔티티 유형에 대한 전략을 얻으십시오.

블록과 같은 것들로 까다로워 질 것입니다. 블록 정의 자체도 처리 할 것이기 때문입니다. 표면,면 및 돌출과 같은 기본적으로 3D 엔티티는 여전히 터프합니다. 궁극적으로 던져 질 수있는 것을 결정해야하며, 프리미티브에서 다시 만들 수 있어야합니다.

간단한 작업 인 경우 AutoDesk에서 이미 절반 정도 벗어난 부분이있을 수 있습니다. 나는 당신이 전략으로 문제에 접근하려고한다면 당신이 도달 할 수 있다고 생각합니다.