[카테고리:] ObjectARX

  • AutoCAD명령내리기 acedCommand() , acedCmd() 이해와 사용법

    이번 강좌는 AutoCAD 명령을 내리기 위한 방법을 알아봅시다. 리습에서 프로그램을 작성하다보면 명령어로 많은 작업을 하게 됩니다. 이때 많이 사용되는 함수가 (command)함수이죠. 바로 이 명령과 동일한 역할을 하는 함수가 ObjectARX에서 acedCommand()와 acedCmd()임니다. 만약 가지고 있는 리습을 Arx로 바꾸고자 하신다면 이 명령들을 잘 아셔야 겠죠.^.^; ============================================================================================= 1. acedCommand() int acedCommand( int rtype, …); 이 함수는 가변인자를 가지는데 […]

  • vs2008 에서 fatal error C1083: 포함 파일을 열 수 없습니다.

    [#M_ more.. | less.. | …………………………….. ………………………… 2>컴파일하고 있습니다… 1>컴파일하고 있습니다… 2>cl : 명령줄 warning D9035 : ‘Wp64’ 옵션은 더 이상 사용되지 않으므로 이후 릴리스에서 제거될 예정입니다. 2>StdAfx.cpp 1>cl : 명령줄 warning D9035 : ‘Wp64’ 옵션은 더 이상 사용되지 않으므로 이후 릴리스에서 제거될 예정입니다. 1>StdAfx.cpp 1>c:\objectarx\objectarx 2010\inc\acarray.h(93) : fatal error C1083: 포함 파일을 열 수 […]

  • 어떤 점에 있는 라인의 ID 획득하기

    AcDbObjectId FindLine(AcGePoint3d pt){    AcDbObjectId yLineId;    ads_point ptUnder = {pt.x, pt.y, pt.z};    ads_name ss;    int res;     resbuf* rb=acutBuildList(RTDXF0, _T(“LINE”), 0);        //필터     double BoxScale=0.0;    BoxScale = Utils::getPickBox();        //pickbox 크기     AcGePoint3d p1, p2;    p1.x = pt.x – BoxScale*0.5;    p1.y = pt.y – BoxScale*0.5;    p2.x = pt.x + BoxScale*0.5;    p2.y […]

  • 어떤 좌표에 위치한 엔터티 구하기

    int ArxGetEntUnderPos(AcDbObjectIdArray& ids , const AcGePoint3d& pt) {                   ads_point ptUnder = {pt.x, pt.y, pt.z};                     ads_name ss;                   int res;                   if (RTNORM != (res = acedSSGet(“:E”, ptUnder, NULL, NULL, ss)))                   {                                     // There is probably nothing under the cursor,                                     // so return and let AutoCAD process the […]

  • acedSSGet 함수

    도면에서 여러개의 엔티티를 선택할때 acedSSGet 함수를 사용합니다.  int acedSSGet (    const char *str,     const void *pt1,    const void *pt2,    const struct resbuf *entmask,     ads_name ss);  첫번째 인수로 특정 알파벳을 넣으면 여러가지 옵션으로 엔티티들을 가져올수 있습니다. 그런데 첫번째 인수로 “C”, “CP”, “F”, “W”, “WP” 등 범위를 지정하는 옵션을 줄 경우주의할 점이 있습니다.지정한 범위가 AutoCAD 화면상에 보여야 합니다. 그렇지 않으면 엔티티를 가져오지 […]

  • 라디안 변환

    라디안  호도법에 의한 각도의 단위.  – 호도라고도 한다. 기호는 rad이다. 주로 이론 상의 연구에 사용된다. 반지름 r인 원에서 원주 상에 길이 r인 원호를 잡았을 때의 중심각의 크기를 1라디안 또는 1호도라 한다. 따라서, 원을 일주하는 각도 360°는 2π라디안이고, 반원의 각도 180°는 π라디안이다. 같은 각도를 60분법으로 나타냈을 때를 x°, 라디안으로 나타냈을 때를 θ라디안이라 하면, x와 θ의 관계는 […]

  • ObjectARX 응용프로그램 기초

    ObjectARX 응용프로그램 만들기   ObjectARX 응용프로그램 만들기     ObjectARX 응용프로그램은 AutoCAD의 주소 공간을 공유하고 AutoCAD 함수를 직접 호출하는 DLL입니다. ObjectARX 응용프로그램은 일반적으로 AutoCAD 내부에서 액세스가 가능하도록 한 명령 도구입니다. 이러한 명령들은 가끔 사용자 클래스를 사용하여 만들어집니다. ObjectARX 응용프로그램을 만드는 것은 다음과 같은 일반적인 절차를 포함합니다.   ObjectARX 응용프로그램을 만들기 위해서는   1. 새로운 명령들을 도구화하기 위하여 […]

  • AutoCAD 데이터베이스 기초

      AutoCAD 데이터베이스 개요     AutoCAD 도면은 데이터베이스에 저장된 객체의 집합체입니다. 기본 데이터베이스 객체는 엔티티, 기호 테이블, 딕셔너리 등입니다. 엔티티는 AutoCAD 도면안에서 그래픽으로 표시되는 데이터베이스의 특정한 종류입니다. 선, 원, 호, 문자, 스플라인 및 타원 등은 엔티티의 예입니다. 사용자는 화면상에서 엔티티를 볼 수 있고 다룰 수 있습니다. 기호 테이블과 딕셔너리는 데이터베이스 객체를 저장하기 위해 사용되는 […]

  • ObjectARX 개요

    프로그래밍 환경     ObjectARX 응용프로그램은 AutoCAD 주소 공간을 공유하고 AutoCAD를 직접 호출하는 함수를 만드는 동적 링크 라이브러리(DLL)입니다. ObjectARX 프로그램 환경에 새로운 클래스를 추가하고 다른 프로그램에서 사용될 수 있도록 반출할 수 있습니다. 생성된 ObjectARX 엔티티는 AutoCAD 엔티티로부터 사실상 구별할 수 없습니다. 또한 기존의 AutoCAD 클래스에 런타임시 함수를 추가함으로서 ObjectARX 프로토콜을 확장할 수 있습니다. ObjectARX 프로그래밍 […]