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>
This commit is contained in:
@@ -0,0 +1,96 @@
|
||||
---
|
||||
title: "GetObjParam - Получить параметры объекта"
|
||||
type: struct
|
||||
api: [api7]
|
||||
domain: [drawing]
|
||||
tags: [struct, api7, drawing, getobjparam]
|
||||
sources:
|
||||
- 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("Объект не позиционная линия выноски");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user