Группы пользователей Autodesk


Окончательная компоновка - часть 2


*ModelSpace* ; Global Definition for Model Space

VLADataPts

) ;_ end of vla-addLightweightPolyline

) ;_ end of setq

(vla-put-closed pline T)

;; Return the ActiveX object name for the outline polyline

;; The return value should look something like this:

;; #<VLA-OBJECT IAcadLWPolyline 02351a34>

плиния (pline)

) ;_ end of defun

Обратите внимание на то, что gp:drawOutline теперь возвращает переменную pline, а не символ с апострофом 'SomeEname, как было в фиктивной версии функции.

  • Отформатируем введенный код. Для этого выделите его и нажмите кнопку «Форматирование выделенного фрагмента» на панели инструментов VLISP.
  • Добавим код для загрузки ActiveX и опишем глобальную переменную, хранящую указатель на пространство модели, как это было описано выше. Для этого установите курсор в верхней части окна текстового редактора и добавьте перед первым выражением defun следующий фрагмент:
  • ;;;--------------------------------------------------------------

    ;;; Сначала необходимо загрузить функции ActiveX. If ActiveX support

    ;;; already exists in document (can occur when Bonus tools have been

    ;;; загружен в AutoCAD), ничего не произойдет. Otherwise, ActiveX

    ;;; support is loaded.

    ;;;---------------------------------------------------------------

    (vl-load-com)

    ;;; In Lesson 4, the following comment and code is moved to utils.lsp

    ;;;---------------------------------------------------------------

    ;;; For ActiveX functions, we need to define a global variable that

    ;;; "points" to the Model Space portion of the active drawing. This

    ;;; variable, named *ModelSpace* will be created at load time.

    ;;;---------------------------------------------------------------

    (setq *ModelSpace*

    (vla-get-ModelSpace

    (vla-get-ActiveDocument (vlax-get-acad-object))

    ) ;_ end of vla-get-ModelSpace

    ) ;_ end of setq

    Обратите внимание, что этот фрагмент кода должен находиться в тексте раньше, чем все функции, объявленные defun. Это обеспечивает автоматическое выполнение данного кода VLISP при загрузке файла.




    Начало  Назад  Вперед



    Книжный магазин