2009-05-13 4 views
5

JAVA 프로그램을 통해 AutoCAD와 인터페이스 할 수 있습니다. 나는 AutoCAD 세션 (심지어 하나 시작)과 직접 인터페이스 할 수있는 솔루션, AutoCAD의 .NET 확장과 함께 작동하는 솔루션을 찾고 있습니다. 또는 Java를 통해 ObjectARX를 사용하여 작업 할 수있는 방법으로, 완전한 JNI 랩퍼를 작성하지 마십시오.AutoCAD와 JAVA 인터페이스하기

추가됨 : 오픈 소스에서 뭔가를 찾고 있습니다. 아무도 없다면 우리는 누군가가 도움의 손길을 빌려서 어떻게 할 수 있는지 설명 할 수 있다면 오픈 소스에서 만들 준비가되어있다. JNA와 JaWin을 살펴 보았습니다. JNI와 클럽 활동을하는 것이 도움이되지만 너무 추합니다. 반면에 JaWin은 지난 4 년 동안 업데이트되지 않았기 때문에이를 사용하는 회의적이었습니다.

답변

1

우리는 비슷한 프로젝트를 진행하고 있습니다. 우리가하고있는 일은 C#에서 통합 코드를 작성하고 프로젝트에서 Java로 비즈니스 로직을 작성하는 것입니다.

JNI를 사용하여 Java 호출을 C++로 가져온 다음 C#으로 다시 변환하고 그 반대로 변환하는 C++ 브리지를 활용합니다. C#에서 Java로 이동해야하는 각 함수는 브리지 코드로 구현되어야합니다. 이것은 상당히 복잡하며 관리되지 않는 C++ 코드가 C#과 함께 작동하도록하는 것과 Jstring을 C# 문자열로 변환하는 표준 오버 헤드와 같은 문제가 있습니다. Java 레이어로 호출 할 때마다 JVM을 시작하고 중지하지 않도록 몇 가지 최적화 작업을 수행 한 결과 상대적으로 빠릅니다.

이전에 AutoCAD 플러그인에서 호출 한 COM 객체를 사용 했으므로 다른 접근 방법이 될 수 있습니다.

2

제가 생각할 수있는 유일한 것은 JNBridge과 같은 자바 < -> .Net 브리지를 사용하는 것입니다. 나는 다른 시나리오에서 이것을 사용했고 잘 동작한다. Java 및 AutoCad로 작업 한 적이 없으므로 다른 저렴한 솔루션이있을 수 있습니다.

+0

감사합니다.하지만 JNBridge는 상업적으로 구현되었습니다. 둘째, Java에서 .NET으로 ARX에서 AutoCAD로 이동하면 많은 작업이 느려질 것입니다. : ( – sangupta

+0

죄송합니다. 내가 할 수있는 가장 좋은 방법은 다음과 같습니다. – willcodejavaforfood

+0

죄송합니다. - 제안 해 주셔서 고마워요. 사실, 우리는 현재 오픈 소스에서 이러한 격차를 줄이기 위해 노력하고 있습니다. 어떤 사람? – sangupta

2

AutoCAD 응용 프로그램과 상호 작용하려는 경우 힘든 시간을 보냅니다. dwg 파일 자체와 상호 작용하려는 경우 AutoCAD가없는 dwg 파일로 작업 할 수있는 라이브러리가있는 Open Design Alliance가 있습니다.

+0

감사합니다. 우리는 실제로 AutoCAD 응용 프로그램과 인터페이스하는 방법을 찾고 있습니다. – sangupta

2

JavaBeans ActiveX 브리지와 COM 자동화를 사용하여 AutoCAD를 열고 조작 할 수 있습니다.

JavaBeans ActiveX 브릿지는 잠시 후 진화하지 않았으며 오토 데스크는 AutoCAD의 확장 및 자동화와 관련된 모든 것을 닷넷에 진지하게 투자하고 있습니다.