ObjectARX, AutoCAD. Среда программирования библиотеки C++

       

Принятие указения точки командой AutoCAD


Некоторые команды AutoCAD (типа TRIM, EXTEND и FILLET) требует, чтобы пользователи определили точку указки также как примитив. Чтобы передавать такие пары примитива и данных точки посредством acedCommand (), Вы должны определить имя примитива сначала и включать пару в RTLB и коды типа результата RTLE.

Следующий типовой кодовый фрагмент создает круг, центрированный в (5,5) и линию, которая простирается от (1,5) до (8,5); это предполагает, что круг и линия созданы в пустом рисунке. Это тогда использует точку указки с командой TRIM, чтобы урезать линию в крае круга. AcdbEntNext () функция находит следующий примитив в рисунке, и acdbEntLast () функция находит последний примитив в рисунке.

ads_point p1;

ads_name first, last;

acedCommand(RTSTR, "Circle", RTSTR, "5,5", RTSTR, "2", 0);

acedCommand(RTSTR, "Line", RTSTR, "1,5", RTSTR, "8,5", RTSTR, "", 0);

acdbEntNext(NULL, first); // Get circle.

acdbEntLast(last); // Get line.

// Set pick point.

p1[X] = 2.0;

p1[Y] = 5.0;

p1[Z] = 0.0;

acedCommand(RTSTR, "Trim", RTENAME, first, RTSTR, "",

RTLB, RTENAME, last, RTPOINT, p1, RTLE,

RTSTR, "", 0);



Содержание раздела