Главная / САПР /
Программирование в AutoCAD / Тест 8
Программирование в AutoCAD - тест 8
Упражнение 1:
Номер 1
Каковы основные понятия объектной модели AutoCAD
?
Ответ:
 (1) все объекты AutoCAD
организованы в виде иерархической структуры с корнем дерева в виде объекта Application
 
 (2) объекты имеют свойства, методы и события 
 (3) все объекты наследуют свойства объекта Application
 
Номер 2
Как обеспечивается связь VBA
с активным чертежом AutoCAD
?
Ответ:
 (1) через объект ThisDrawing
 
 (2) через свойство объектов Application
 
 (3) через метод AddObject
 
Номер 3
В каком родительском объекте расположены видимые на чертеже объекты?
Ответ:
 (1) ModelSpace
и PaperSpace
 
 (2) Document
 
 (3) Application
 
Упражнение 2:
Номер 1
Как осуществляется доступ к объектам Collection
?
Ответ:
 (1) коллекции Documents, MenuBar
и MenuGroups
доступны через объект Application
. Остальные коллекции доступны через объект Document
 
 (2) через объект Application
 
 (3) через объект ThisDrawing
 
Номер 2
Что такое variant-массивы?
Ответ:
 (1) это несколько похожих массивов 
 (2) массив данных с элементами различных типов, в том числе Empty, Error, Nothing, NULL
 
 (3) это массив разных данных 
Номер 3
Какова структура процедуры на VBA
?
Ответ:
 (1) заголовочная часть и тело 
 (2) объявление типа переменных, инициализация, набор операторов 
 (3) Объявление переменных и вычисления или построения 
Упражнение 3:
Номер 1
Какие методы применяются для получения данных от пользователя?
Ответ:
 (1) пользовательская форма - диалоговое окно 
 (2) метод Get
 
 (3) GetEntity, GetInteger, GetPoint, GetReal, GetString, GetDistance
 
Номер 2
Как обеспечивается доступ к файловым функциям?
Ответ:
 (1) ThisDrawing.Application.Documents
 
 (2) из внешней процедуры 
 (3) через объект Document одним из методов Add, Save, SaveAs, Import, Export
 
Номер 3
Как обеспечить доступ к командной строке?
Ответ:
 (1) метод SendCommand
имитирует вод команд в командную строку 
 (2) команда VBARUN
 
 (3) команда VBASTMT
 
Упражнение 4:
Номер 1
Как производить вычисления с использованием выражений?
Ответ:
 (1) путем ввода в командную строку 
 (2) используя методы объекта Utility
 
 (3) вычислять в отдельном блоке 
Номер 2
Какими методами создаются объекты?
Ответ:
 (1) VBA CreateObject
 
 (2) Add
и Add(Object)
 
 (3) через создание объектной переменной 
Номер 3
Какими методами создаются криволинейные объекты?
Ответ:
 (1) методом Set
 
 (2) AddArc, AddCircle, AddEllipse, AddSpline
 
 (3) методами объекта modelSpace
 
Упражнение 5:
Номер 1
Как создать новый слой?
Ответ:
 (1) Dim newLayer as AcadLayer
Set newLayer = ThisDrawing.Layers.Add("MyNewLayer") 
 (2) Dim ABCLayer As AcadLayer
Set ABCLayer = ThisDrawing.Layers.Item("ABC") 
 (3) Dim LayerObj As AcadLayer
Set LayerObj = ThisDrawing.Layers.Add("ABC") 
Номер 2
Что значит индексированные цвета?
Ответ:
 (1) цвета, которые определяются индексами (числами от 0 до 256): 0 - по блоку, 256 - по слою, 1 - красный, 2 - желтый, 3 - зеленый, 4 - синий, 5 - голубой, 6 - маджента, 7 - черный (белый - зависит от цвета экрана) 
 (2) это цвета цветовой модели RGB
 
 (3) цвета, которые можно называть по имени (индексу) 
Номер 3
Как создать слой "ABC" и назначить ему красный цвет?
Ответ:
 (1) Dim LayerObj As AcadLayer
Set LayerObj = ThisDrawing.Layers.Add("ABC")
LayerObj.Color = acRed  
 (2) Dim ABCLayer As AcadLayer
Set ABCLayer = ThisDrawing.Layers.Item("ABC")
ABCLayer.TrueColor = 255,0,0 
 (3) Dim LayerObj As AcadLayer
Set LayerObj = ThisDrawing.Layers.Add("ABC")
LayerObj.Color = 1 
Упражнение 6:
Номер 1
Какими методами создаются сплошные 3D объекты? Можно ли создать полый рог этим методом?
Ответ:
 (1) методом Add
можно построить все, что и в AutoLISP
 
 (2) AddBox, AddCone, AddCylinder, AddEllipticalCone, AddEllipticalCylinder, AddExtrudedSolid, AddExtrudedSolidAlongPath, AddRevolvedSolid, AddSolid, AddSphere, AddTorus, AddWedge.
Нет, полый рог нельзя создать этим методом: RetVal = object.AddExtrudedSolidAlongPath(Profile, Path)
- в параметрах нет угла сужения. 
 (3) полый рог можно построить методом Add
: RetVal = object.AddExtrudedSolid(Profile, Height, TaperAngle)
- в параметрах профиль-основание, высота экструзии и угол сужения 
Номер 2
Создайте новый слой "ABC" синего цвета и на этом слое красную окружность.
Ответ:
 (1) circleObj.Layer = ThisDrawing.Layers.Add("ABC")
"ABC".Color = acblue
circleObj.Color = acred  
 (2) Set layerObj = ThisDrawing.Layers.Add("ABC")
layerObj.Color = 4
Set circleObj = ThisDrawing.ModelSpace.AddCircle(center, radius)
circleObj.Color = 1
circleObj.Layer = "ABC"
circleObj.Update  
 (3) Set circleObj = ThisDrawing.ModelSpace.AddCircle(center, radius)
circleObj.Layer = ThisDrawing.Layers.Add("ABC",acblue) 
Номер 3
Чем отличается элемент управления Label
от элемента TextBox
?
Ответ:
 (1) ничем не отличаются - оба служат для размещения текста 
 (2) Label - просто текст, в TextBox
можно производить вычисления 
 (3) в Label текст пишут на фоне формы, а в TextBox
он выделен 
Упражнение 7:
Номер 1
Как создать пользовательскую форму в редакторе VBA
?
Ответ:
 (1) в контекстном меню модуля 
 (2) Insert - Module
 
 (3) Insert - UserForm
 
Номер 2
Как составить процедуру для элемента формы?
Ответ:
 (1) открыть модуль формы 
 (2) создать модуль по команде Insert - Module
 
 (3) нужно выделить этот элемент двойным щелчком мыши 
Номер 3
Какова область видимости переменных в процедурах VBA
?
Ответ:
 (1) зависит от того, где они объявляются: вне или внутри процедуры 
 (2) область видимости - сама процедура 
 (3) локальные переменные (dim, private
) видны только в пределах процедуры. Глобальные переменные (public
) видны в пределах модуля 
Упражнение 8:
Номер 1
Что должен содержать файл инициализации пользовательской формы?
Ответ:
 (1) UserForm.Show
. Кроме того, в файле инициализации производят заполнение списков, вносят первоначальные данные в текстовые окна, включают радиокнопки и флажки 
 (2) команды инициализации 
 (3) команду запуска формы 
Номер 2
Как запустить проект dvb
?
Ответ:
 (1) загрузить по команде vbaload
, запустить процедуру - vbarun
 
 (2) открыть его в редакторе VBA
и оттуда запустить процедуру 
 (3) Tools - Macro - Load Project, далее Tools - Macro - Macros
 
Номер 3
Как выполнить автозагрузку проекта на VBA
?
Ответ:
 (1) при запуске автоматически запускается файл acad.dvb
 
 (2) использовать файл автозагрузки autoLISP
для загрузки проекта "myProj.dvb"
и запуска процедуры "mySub"
:
(defun S::STARTUP()
(Command "_VBALOAD" " myProj.dvb " "VBARUN" "mySub"))