Files
kompas3d-mcp/docs/Kompas3D_SDK/guides/deleteattr.md
T
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

4.2 KiB
Raw Blame History

title, type, api, tags, sources
title type api tags sources
DeleteAttr - Удалить атрибут объекта guide
api7
guide
api7
deleteattr
deleteattr.html

*API экспортных функций > Функции работы с прикладной библиотекой  > Функции работы с атрибутами *

DeleteAttr - Удалить атрибут объекта

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

int DeleteAttr (reference pObj, reference PAttr, char * password);
Входные параметры:
pObj    - указатель на объект, к которому подключен атрибут. Если pObj = 0 - атрибут текущего документа,
pAttr    - указатель на удаляемый атрибут,
password    - пароль атрибута.
Возвращаемое значение:
1    - в случае удачного завершения,
0    - в случае неудачи.

Примечание:

  1. Указатель на объект reference pObj может быть получен следующими способами: – с помощью функций Итератора CreateIterator, MoveIterator. с помощью методов создания объектов, возвращающих указатель reference на созданный объект, например, reference LineSeg.
  2. Указатель на атрибут reference pAttr может быть получен: – с помощью функций итератора CreateAttrIterator, MoveAttrIterator, с помощью функций создания атрибутов ksCreateAttr, или выбора атрибутов ChoiceAttr.

DeleteAttr - Пример использования

{ // создадим атрибут для типа атрибута с колонками // DOUBLE_ATTR_TYPE, STRING_ATTR_TYPE, LINT_ATTR_TYPE // Предполагается, что данный тип уже существует Attribute attrPar; //структура данных для оформления атрибута struct { double a; char c[MAX_TEXT_LENGTH]; long b; } bufS; // заполним поля атрибута bufS.a = 987654321.0; bufS.b = 99999l; strcpy(bufS.c,"Исполнение 1"); //заполним параметры структуры атрибута strcpy(attrPar.comment,"элемент"); //комментарий атрибута attrPar.key1 = 1; // рекоменд. как код разработчика attrPar.key2 = 10; // рекоменд. как код атрибута attrPar.key3 = 100; // рекоменд. как код разработчика attrPar.key4 = 0; // системный код атрибута // значения от 0 до 1000 зарезервированы АСКОН attrPar.flagVisible = 0; //массив, определяющий для каждой колонки // атрибут видимость-невидимость // 0 -видимое поле 1- невидимое поле attrPar.values = &bufS; // массив значений ячеек таблицы атрибутов // сначала все значения для 1-ой строки, // затем все значения для 2-ой строки и т.д. attrPar.valSize = sizeof(bufS); strcpy(attrPar.password,"111"); //пароль double x, y; reference pObj; RequestInfo info; memset(&info, 0, sizeof(info)); info.promt = " Укажите объект "; int j = Cursor(&info, &x, &y, 0, 0); if (j) { if(ExistObj(pObj = FindObj(x, y, MAXDOUBLE))){ LightObj(pObj, 1); //запросить имя библиотеки char nameFile[128]; if(!ChoiceFile("*.tip",NULL, nameFile)) nameFile[0]='\0'; //будем искать в документе double numb; j = ReadDouble("Ввести номер типа атрибута", 1000.,0, 1e12,&numb); if(j) { reference attr= CreateAttr(pObj, &attrPar, numb, nameFile); if (!attr) MessageBoxResult(); // неудачное завершение } LightObj(pObj, 0); } } DeleteAttr (pObj, attr, «111»); };