Files
mikhail e1337e4016 feat(sdk-docs): MD-база знаний SDK — в репозиторий; генератор и зеркало убраны
docs/Kompas3D_SDK/ становится каноническим источником справки КОМПАС SDK
и включается в репозиторий (2491 файл, ~14 МБ). HTML-зеркало
docs/KOMPAS_SDK_ru-RU/ (~1.4 ГБ, © АСКОН) и генератор
tools/build_kompas3d_sdk.py больше не нужны — регенерация не предполагается.

- .gitignore: MD-база разблокирована; зеркало остаётся проигнорированным
  (safety-net на случай повторной локальной выгрузки).
- CLAUDE.md / SKILL.md: убраны упоминания регенерации и зеркала.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 20:00:05 +03:00

3.8 KiB

title, type, api, domain, tags, sources
title type api domain tags sources
GetObjParam - Получить параметры объекта struct
api7
drawing
struct
api7
drawing
getobjparam
getobjparam.html

*API экспортных функций > Редактирование графических объектов  > Функции редактирования объектов чертежа *

GetObjParam - Получить параметры объекта

Пример... Аналог данной функции при использовании Automation - метод ksDocument2D::ksGetObjParam. Синтаксис:

int GetObjParam (reference ref,
void *param,
int parSize,
int parType);
Входной параметр:
ref    - указатель на объект,
parType    - тип параметров объекта или индекс строки в массиве для объектов TECHNICALDEMAND_OBJ и TEXT_OBJ или номер страницы (габаритного прямоугольника) технических требований (TECHNICALDEMAND_OBJ),
parSize    - размер структуры для записи параметров.
Выходные параметры:
param    - указатель на структуру параметров,
Возвращаемое значение:
тип объекта    - в случае удачного завершения,
0    - в случае неудачи.
Типы объектов и интерфейсы...
Смотрите также
SetObjParam

Примечание: Вызов метода с нулевыми значениями параметров param, parSize и parType позволяет получить тип объекта по его reference.

GetObjParam, SetObjParam - пример использования

void GetObjParam_Example(void) { char buf [128]; reference p; LineSegParam par; int t; Mtr(30, 20, 45, 1); p = LineSeg(0, 0, 30, 0, 1); /* взять параметры отрезка / t = GetObjParam(p, &par, sizeof(par), ALLPARAM); sprintf(buf, " t=%d, x1=%4.1f y1=%4.1f x2=%4.1f y2=%4.1f tl=%d",t, par.x1, par.y1, par.x2, par.y2, par.style); Message(buf); / заменить параметры отрезка / par.x2 = 0; par.y2 = 40; par.style = 2; if(SetObjParam(p, &par, sizeof(par), ALLPARAM)) Message(" Изменили объект"); else MessageBoxResult(); DeleteMtr(); } / _Example / /**************************************************************************/ /Второй пример использования GetObjParam и SetObjParam/ // редактирование позиционной линии выноски reference pObj; RequestInfo info; double x, y; memset(&info, 0, sizeof(info)); info.prompt = "Укажите позиционную линию выноски"; int j = Cursor(&info, &x ,&y, 0); if (j) { if(ExistObj(pObj = FindObj(x, y, MAXDOUBLE))){ if (GetObjParam(pObj, 0,0,0) == POSLEADER_OBJ) { PosLeaderParam leaderPar; GetObjParam(pObj, //указатель на графический объект &leaderPar, //указатель на структуру параметров sizeof(LeaderParam), //размер структуры параметров ALLPARAM); //тип считывания параметров leaderPar.x = 10; leaderPar.y = 10; int rez = SetObjParam(pObj, //указатель на графический объект &leaderPar, //указатель на структуру параметров sizeof(LeaderParam), //размер структуры параметров ALLPARAM); //тип считывания параметров if (rez) { LightObj(pObj,1); Message ("линия выноски по параметрам"); LightObj(pObj,0); } else MessageBoxResult(); //сообщение об ошибке } else Error("Объект не позиционная линия выноски"); } }