Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Лекция 15. Объектная модель САПР AutoCAD и COM автоматизация.






Предок всех графических объектов — AcadEntity, его родитель — AcadObject.

  • AcadObject
    • AcadEntity
      • AcadLine
      • AcadArc
      • AcadCircle
      • AcadPolyline
      • AcadLWPolyline
      • Acad3DPolyline
      • AcadText
      • AcadMText
      • AcadHatch
Свойства AcadEntity Описание Доступ
TrueColor: AcadAcCmColor объект AcadAcCmColor — цвет примитива в формате True Color (см. раздел О цвете) R/W
Layer: WideString имя слоя R/W
Linetype: WideString имя стиля линии (из существующих в данном документе) R/W
LinetypeScale: Double масштаб линии R/W
Visible: WordBool видимость примитива R
PlotStyleName: WideString имя стиля печати R
Lineweight: AcLineWeight вес (ширина) линии (см. констатны AcLineWeight) R/W
Hyperlinks: AcadHyperlinks коллекция гиперссылок R/W
EntityName: WideString имя примитива (указывает его тип), например: AcDbLine, AcDbCircle, AcDbArc, AcDbText R
EntityType: LongWord тип примитива (см. констатны AcEntityName) R
Color: AcColor цвет примитива в формате AutoCAD Color Index R/W

 

В объектной модели AutoCAD при задании координат точек любых примитивов обязательно указываются все три координаты, даже если чертится двумерный объект. Координаты задаются вариантным массивом (где 0 и 2 — это индексы его нижнего и верхнего элементов):

Var

Pt: OleVariant;

Begin

Pt: = VarArrayCreate([0, 2], varDouble);

...

end;

Соответственно Pt[0] — это X; Pt[1] — это Y; Pt[2] — Z. Для упрощения задания координат точки пригодится такая функция:

function AcadPoint(X, Y: Double; Z: Double = 0): OleVariant;

Begin

Result: = VarArrayCreate([0, 2], varDouble);

Result[0]: = X;

Result[1]: = Y;

Result[2]: = Z;

end;

Графические объекты создаются в пространстве модели, листа или в блоке. Чтобы узнать какое из пространств в данный момент активно, необходимо воспользоваться свойством ActiveSpace текущего документа. Следующая функция возвращает текущее пространство:

 

function ActiveSpace: OleVariant;

Begin






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.