игра брюс 2048
Главная / САПР / Программирование в AutoCAD / Тест 10

Программирование в AutoCAD - тест 10

Упражнение 1:
Номер 1
Как из AutoCAD установить связь с MS Word?

Ответ:

 (1) (setq ff (vlax-get-or-create-object "Word.Application.14")) 

 (2) (vlax-dump-object ff T) 

 (3) (setq ff (vlax-get- object "Word.Application.14")) 


Номер 2
Какая функция позволяет вывести свойства и методы объекта Application?

Ответ:

 (1) (vlax-dump-object ff T) 

 (2) (vlax-get-property ff "Application") 

 (3) (vlax-invoke-method ff 'Command: vlax-true) 


Номер 3
Какая функция позволяет извлечь значения свойств объекта ff?

Ответ:

 (1) (vlax-get-property ff "Version") 

 (2) (vlax-put-property ff "Version") 

 (3) (vlax-dump-object ff) 


Упражнение 2:
Номер 1
Какая функция позволяет изменить значения свойств объекта?

Ответ:

 (1) (vlax-invoke-method ff 'Command: vlax-true) 

 (2) (vlax-put-property ff 'Property: vlax-true) 

 (3) (vlax-dump-object ff T) 


Номер 2
Как обеспечить доступ к активному документу Word?

Ответ:

 (1) нужно извлечь значение свойства ActiveDocument объекта docs 

 (2) нужно извлечь значение свойства ActiveDocument объекта Application 

 (3) при загрузке в память Word.Application открывается активный документ 


Номер 3
Как сохранить документ Word?

Ответ:

 (1) (SaveAs "d:\\Temp\\WordDoc.doc") 

 (2) (vlax-invoke-method doc 'SaveAs "d:\\Temp\\WordDoc.doc") 

 (3) (vlax-invoke-method ff 'SaveAs "d:\\Temp\\WordDoc.doc") 


Упражнение 3:
Номер 1
Как в объекте Word создать новый документ?

Ответ:

 (1) (setq docs(vlax-get-property ff 'Documents)) 

 (2) (setq doc(vlax-invoke-method docs "Add")) 

 (3) (setq doc(vlax-invoke-method docs 'Add)) - добавляем к семейству 


Номер 2
Как в документе Word создается рабочий диапазон r с позицией 0 0?

Ответ:

 (1) в активном документе диапазон устанавливается по умолчанию 

 (2) (setq r (vlax-invoke-method doc "Range" "0 0")) 

 (3) (setq r (vlax-invoke-method doc 'Range 0 0)) 


Номер 3
Как закрыть видимое окно Word?

Ответ:

 (1) (vlax- invoke-method ow "Quit") 

 (2) (close ff) 

 (3) (vlax- invoke-method ff "Quit") 


Упражнение 4:
Номер 1
Каково назначение функции  (vl-load-com)?

Ответ:

 (1) установление связи с объектами ActiveX 

 (2) загрузка библиотек, обеспечивающих работу с ActiveX 

 (3) начать работу программы 


Номер 2
Как в документе Word написать заголовок в начале рабочего диапазона r? 

Ответ:

 (1) (setq ff (open "c:\\test.doc" "w"))(write-line "Header" ff) 

 (2) (vlax-invoke-method r 'InsertBefore "Header") 

 (3) (vlax-invoke-method r 'Write "Header") 


Номер 3
Как освободить память от глобальных переменных?

Ответ:

 (1) перезагрузить программу AutoCAD 

 (2) (setq ff nil r nil doc nil docs nil ow nil) 

 (3) перезагрузить компьютер 


Упражнение 5:
Номер 1
Поясните, как осуществляется поиск листа с именем "Спецификация" в рабочей книге?

Ответ:

 (1) вначале мы обращаемся к свойству активной рабочей книги (awb) "Worksheets" и составляем список shs всех листов: (setq shs (vlax-get-property awb "Worksheets")). Затем в этом списке мы обращаемся к свойству "Name", перебирая листы в цикле vlax-for со счетчиком цикла s. Функция условия if сравнивает имя каждого листа с заданным. В случае совпадения номер листа присваивается переменной mainsh - указателю на лист с нужным именем: (vlax-for s shs (if (= sheetname (vlax-get-property s "Name"))(setq mainsh s))). Глобальной переменной sheetname присваивается значение литерала "Спецификация" при обращении к программе 

 (2) лист "Спецификация" получаем из семейства "Worksheets" 

 (3) лист ищем по имени в коллекции рабочих листов 


Номер 2
Нужно ли открывать файл MS Excel перед запуском программы readex11_com?

Ответ:

 (1) нет, не нужно, мы получаем указатель книги awb, обращаясь к методу "Open" коллекции рабочих книг wkbs (tb_xls = "d:\\r16\\readex11.xls"): (setq awb (vlax-invoke-method wkbs "Open" tb_xls)) 

 (2) файл должен быть загружен в память, т.е. открыт 

 (3) открывать файл не нужно, он вообще может быть невидимым 


Номер 3
Какие операции выполняет функция  (vla-variant-value)?

Ответ:

 (1) преобразование из типа вариант в обычное число 

 (2) создание структуры вариант 

 (3) изменение типа данных на тип вариант 


Упражнение 6:
Номер 1
Что такое безопасные массивы  (safearray)?

Ответ:

 (1) это массивы, с которыми безопасно работать 

 (2) это массивы однотипных vla-объектов 

 (3) это обычные числовые массивы 


Номер 2
Какие vla-объекты нужно получить для начала работы по технологии ActiveX?

Ответ:

 (1) (vl-load-com) 

 (2) acad_app, active_doc, model_space, paper_space 

 (3) Safearray, variant 


Номер 3
Каково назначение метода "Evaluate" в программе лекции?

Ответ:

 (1) оценка ячеек А1 и В1 

 (2) здесь метод извлекает значения в ячейках А1 и В1 и возвращает значение типа Variant) 

 (3) выполнить, вычислить 


Упражнение 7:
Номер 1
Как преобразовать примитив в vla-объект, а из vla-объекта получить примитив?

Ответ:

 (1) загрузить функцию (vl-load-com) 

 (2) (vlax-make- vla-object) 

 (3) c помощью функций (vlax-ename-< vla-object) (vlax-vla-object -< vlax-ename) 


Номер 2
Как модифицировать свойства vla-объекта?

Ответ:

 (1) извлечь свойства (vlax-dump-object) и задать их (vla-put-) 

 (2) преобразовать в объект и делать как обычно 

 (3) нужно в vla-объекте изменить значение нужного параметра 


Номер 3
Как аннулируются объекты, сформированные глобальными переменными?

Ответ:

 (1) присвоением им значения nil 

 (2) удалением переменных 

 (3) c помощью функции (vlax-release-object) 


Упражнение 8:
Номер 1
Как создать вариант?

Ответ:

 (1) (vlax-make-variant[<данное>[<целое>]]), где "целое" задает тип 

 (2) (vlax-variant-value) 

 (3) (vlax-variant-put-element) 


Номер 2
Что возвращает функция  (vlax-get-acad-object)?

Ответ:

 (1) vla-объект семейства открытых документов Documents 

 (2) возвращает vla-приложение AutoCAD 

 (3) возвращает документ AutoCAD 


Номер 3
Насколько рационально перенесение таблицы Excel в AutoCAD методом программного чтения, изложенным в лекции?

Ответ:

 (1) для практики это нерационально. Более рациональны импорт таблицы из MS Excel или вставка как OLE-объекта 

 (2) на одном компьютере это никто не будет делать 

 (3) это слишком сложный и громоздкий метод 




Главная / САПР / Программирование в AutoCAD / Тест 10