Тема: Как сделать активным слой?
Подскажите кусочек кода на VBA., чтобы вычертить к примеру полилинию, а затем кинуть ее в слой "sloy"
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → VBA → Как сделать активным слой?
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Подскажите кусочек кода на VBA., чтобы вычертить к примеру полилинию, а затем кинуть ее в слой "sloy"
Sub Example_AddLine() ' This example adds a line in model space Dim lineObj As AcadLine Dim startPoint(0 To 2) As Double Dim endPoint(0 To 2) As Double ' Define the start and end points for the line startPoint(0) = 1#: startPoint(1) = 1#: startPoint(2) = 0# endPoint(0) = 5#: endPoint(1) = 5#: endPoint(2) = 0# ' Create the line in model space Set lineObj = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint) [b] lineObj.Layer = "sloy" lineObj.Update [/b] ZoomAll End Sub
Извиняюсь что название темы не так дал!
To Boxa - огромное спасибо!
Еще вопрос - endPoint(1) = 5# Знак # - обязательно? Я делал без него - работает! Может возможны какие-либо последствия если его не поставить?
> Александр
добавляя # после числа, ты явно указываешь что это число целое.
The default for second and subsequent points is relative polar coordinates (relative Cartesian for RECTANG). There is no need to type the at sign (@). If you want to use absolute coordinates, use the pound sign (#) prefix. For example, to move an object to the origin, for the second point prompt, enter #0,0.
фрагмент справки.
Насколько я в курсе правил синтаксиса БАСИКа значки #,%,& служат для явного указания типа переменной или числа.
Single (single-precision floating-point) variables are stored as IEEE 32-bit (4-byte) floating-point numbers, ranging in value from -3.402823E38 to -1.401298E-45 for negative values and from 1.401298E-45 to 3.402823E38 for positive values. Thetype-declaration character for Single is the exclamation point (!).
Double (double-precision floating-point) variables are stored as IEEE 64-bit (8-byte) floating-point numbers ranging in value from -1.79769313486232E308 to -4.94065645841247E-324 for negative values and from 4.94065645841247E-324 to 1.79769313486232E308 for positive values. Thetype-declaration character for Double is the number sign (#).
The codes forString characters range from 0?255. The first 128 characters (0?127) of the character set correspond to the letters and symbols on a standard U.S. keyboard. These first 128 characters are the same as those defined by theASCII character set. The second 128 characters (128?255) represent special characters, such as letters in international alphabets, accents, currency symbols, and fractions. Thetype-declaration character for String is the dollar sign ($).
Integer variables are stored as 16-bit (2-byte) numbers ranging in value from -32,768 to 32,767. Thetype-declaration character for Integer is the percent sign (%).
Long (long integer) variables are stored as signed 32-bit (4-byte) numbers ranging in value from -2,147,483,648 to 2,147,483,647. Thetype-declaration character for Long is the ampersand (&).
Выражение endPoint(1) = 5# будет работать и так без значка #, поскольку endPoint(1) имеет тип Double и при присвоении производится приведение типа.
Нда... апсыбся... просто никогда этими значками не пользовался прописывая тип переменной явно.
Спасибо за замечание.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → VBA → Как сделать активным слой?
Форум работает на PunBB, при поддержке Informer Technologies, Inc