Перейти к содержанию
1 / 6
2 / 6
3 / 6
4 / 6
5 / 6
6 / 6

Основы программирования на Visual Basic for AutoCAD


Рекомендуемые сообщения

Добрушанка, скажите, пожалуйста, описывать все точки нужно сразу в начале программы или же можно по мере их построения?
Чтобы было понятно, я строю основу платья на девочку и общее количество точек большое. Сразу описать все точки мне пока трудно.

Ссылка на сообщение
Поделиться на другие сайты

Описывать точки можно по мере их появления. Не обязательно все описывать сразу, можно и в середине программы. Главное описать точку до ее использования.

Ссылка на сообщение
Поделиться на другие сайты


Описывать точки можно по мере их появления. Не обязательно все описывать сразу, можно и в середине программы. Главное описать точку до ее использования.

Елена подскажите пожалуйста почему при сохранении чертежа юбки(Одежда) у меня тогда не открываются ваши чертежи и приходится их вынимать из Макрос-Макросы, что еще нужно тогда добавить. Может у меня неправильно сохранено или совпадает значение макроса Я допустим сохранила под именем vvvvv. И если в дальнейшем будет составлена форма 1 следующая для пиджака и я ее сохраню задав ей макрос, то нужно добавить чтобы чертеж созданный для пиджака открывался со своей таблицей мерок.

 

А брюки с юбкой пыталась объединить , но не получилось. При объединении меняла значения мерок и добавляла все значения в одно построение : 1 построение юбки, 2 построение брюк. Так у меня объединить не получилось.

 

Если будет создаваться форма 2, то ее в макросе надо менять по всем подпрограммам….

И не к теме . Скачала программу открыла и ни как5 не могу вставить своего манекена не подскажите как если пробовали эту программу UVLayout v2 У меня только их колесо а под ним появляется но только ни dwg , и ни dxf а ipg
____________.zip

"Каждый может ошибиться", - сказал ежик, слезая с кактуса.

Ссылка на сообщение
Поделиться на другие сайты

если пробовали эту программу UVLayout v2

Цветы, вы владеете английским, чтобы разобраться с программой?
Без глубокого изучения возможностей и настроек программы (надо обязательно знать английский на хорошем уровне) развёртки получаются странные. Я бы не рисковала по ним кроить.
Задавайте вопросы в соответствующих темах.

Мой блог

 

3Д лекала дистанционно

Ссылка на сообщение
Поделиться на другие сайты


Цветы, вы владеете английским, чтобы разобраться с программой?
Без глубокого изучения возможностей и настроек программы (надо обязательно знать английский на хорошем уровне) развёртки получаются странные. Я бы не рисковала по ним кроить.
Задавайте вопросы в соответствующих темах.


Нет английским я не владею. И до этого этапа мне очень далеко еще надо работу вид изучить Здесь чисто случайно спросила Изменено пользователем Цветы

"Каждый может ошибиться", - сказал ежик, слезая с кактуса.

Ссылка на сообщение
Поделиться на другие сайты


Елена подскажите пожалуйста почему при сохранении чертежа юбки(Одежда) у меня тогда не открываются ваши чертежи и приходится их вынимать из Макрос-Макросы, что еще нужно тогда добавить. Может у меня неправильно сохранено или совпадает значение макроса Я допустим сохранила под именем vvvvv. И если в дальнейшем будет составлена форма 1 следующая для пиджака и я ее сохраню задав ей макрос, то нужно добавить чтобы чертеж созданный для пиджака открывался со своей таблицей мерок.

 

А брюки с юбкой пыталась объединить , но не получилось. При объединении меняла значения мерок и добавляла все значения в одно построение : 1 построение юбки, 2 построение брюк. Так у меня объединить не получилось.

 

Если будет создаваться форма 2, то ее в макросе надо менять по всем подпрограммам….

 

____________.zip

"Каждый может ошибиться", - сказал ежик, слезая с кактуса.

Ссылка на сообщение
Поделиться на другие сайты

Цветы, сделайте отдельные программы, не объединяйте их. Это позволит избежать Вам многих проблем.

Ссылка на сообщение
Поделиться на другие сайты

Добрушанка, возник вопрос: Автокад строит объекты, измеряемые в мм, а мы работаем в см, как быть при распечатке? Масштабировать?
Может этот вопрос возникал, а я просмотрела...

Ссылка на сообщение
Поделиться на другие сайты

Еще вопрос: как написать вот это (построение основы на девочку)

Плечевой срез. От точки Т через точку Р1 радиусом, равным отрезку ТР1, провести вправо дугу (на рисунке штриховая линия). От точки Р1 по дуге отложить отрезок Р1П2 (длина плечевого среза), равный мерке длины плеча плюс 2 см (раствор плечевой вытачки):

 

Р1П2=Шп+2=9,1+2=11,1 см.

 

взято отсюда http://www.niv.ru/library/001/135.htm#3_2_1

 

Может где-то это разбиралось, а я не заметила?

Ссылка на сообщение
Поделиться на другие сайты

Автокад строит объекты, измеряемые в мм, а мы работаем в см, как быть при распечатке?
В настройках печати вы можете указать любой масштаб, например, 1:10.
Ссылка на сообщение
Поделиться на другие сайты

От точки Т через точку Р1 радиусом, равным отрезку ТР1, провести вправо дугу (на рисунке штриховая линия). От точки Р1 по дуге отложить отрезок Р1П2 (длина плечевого среза), равный мерке длины плеча плюс 2 см (раствор плечевой вытачки)
Попробуйте такой код:
L = K + 2R= dlina(T(0), T(1), R1(0), R1(1))alpha = - L / RCall rotate_beta(T(0), T(1), R1(0), R1(1), alpha, R, x, y)P2(0) = x: P2(1) = y: P2(2) = 0

где K - длина плеча.

Ссылка на сообщение
Поделиться на другие сайты


Оставшаяся часть по форме.
В главном меню создается дополнительный пункт "Одежда". Чтобы запустить всю программу, нужно запустить макрос Init(). ............

 

 

Добрушаночка, застряла на этом пункте. Можно "для особо одаренных" поподробнее, как и где создать дополнительный пункт "Одежда"

Ссылка на сообщение
Поделиться на другие сайты

При запуске макроса Init() появляется в главном меню новый пункт "Одежда". А в чем именно вопрос? Как запустить макрос? Или как создать пункт меню?

Ссылка на сообщение
Поделиться на другие сайты

как создать пункт меню?
ой, уже разобралась , спасибо. Запустила Init(), и Одежда появилась.

Изменено пользователем "марина
Ссылка на сообщение
Поделиться на другие сайты

Пункт меню создается макросом Init(). Т.е Вам нужно его только запустить, и пункт меню сам появится. Если не получается, выкладывайте Ваш вариант программы.

Ссылка на сообщение
Поделиться на другие сайты

Добрушанка, а еще вопрос? Нужна Ваша помощь. В Меню Одежда добавила пунктик "сохранить в файл", а какой код прописать в Init к этому пункту, чтоб он работал не знаю. Помогите, пожалуйста.

Ссылка на сообщение
Поделиться на другие сайты

Уважаемая Добрушанка. Огромное спасибо за Ваши уроки. Пользуясь Вашими рекомендациями ,я написала программы для построения основы плечевого изделия,прямой юбки и нескольких видов брюк Конечно, программы еще сырые и требуют доработки, но главное, я избавлена от рутинной и отбирающей уйму времени работы по построению этих самых основ. У меня возник вопрос: возможно ли при программировании слоев задать не только цвет,но и тип и толщину линий? Если да ,то как это сделать?

Ссылка на сообщение
Поделиться на другие сайты

 Sub Example_Layer()	layerstr = "Name" 'имя слоя	TypeLine = "ACAD_ISO02W100" 'тип линии. Перечислены в файле acadiso.lin	Dim entry As AcadLineType	Dim found As Boolean	found = False	For Each entry In ThisDrawing.Linetypes		If StrComp(entry.Name, TypeLine, 1) = 0 Then			found = True			Exit For		End If	Next	If Not (found) Then ThisDrawing.Linetypes.Load TypeLine, "acadiso.lin"	Set layerobj = ThisDrawing.Layers.Add(layerstr)	layerobj.color = acBlue	layerobj.Linetype = TypeLine	layerobj.Lineweight = acLnWt211 'толщина линииEnd Sub


Возможные варианты толщины линии
acLnWtByLayer, acLnWtByBlock, acLnWtByLwDefault, acLnWt000,
acLnWt005, acLnWt009, acLnWt013, acLnWt015, acLnWt018,
acLnWt020, acLnWt025, acLnWt030, acLnWt035, acLnWt040,
acLnWt050, acLnWt053, acLnWt060, acLnWt070, acLnWt080,
acLnWt090, acLnWt100, acLnWt106, acLnWt120, acLnWt140,
acLnWt158, acLnWt200, acLnWt211

Ссылка на сообщение
Поделиться на другие сайты

Очень нужна помощь!!!подскажите пожалуйста, что делает вырезка из программы:

 

Point1(0) = dx - 2 * a - 1
Point1(1) = dy
Point2(0) = dx + 2 * a + 1
Point2(1) = dy
Set koo = ThisDrawing.ModelSpace.AddLine(Point1, Point2)
t = Str(Point1(0)) + "," + Str(Point1(1))
Set txt = ThisDrawing.ModelSpace.AddText(t, Point1, 0.01)
t = Str(Point2(0)) + "," + Str(Point2(1))
Set txt = ThisDrawing.ModelSpace.AddText(t, Point2, 0.01)

 

Point1(0) = dx
Point1(1) = dy - 2 * a - 1
Point2(0) = dx
Point2(1) = dy + 2 * a + 1
Set koo = ThisDrawing.ModelSpace.AddLine(Point1, Point2)
t = Str(Point1(0)) + "," + Str(Point1(1))
Set txt = ThisDrawing.ModelSpace.AddText(t, Point1, 0.01)
t = Str(Point2(0)) + "," + Str(Point2(1))
Set txt = ThisDrawing.ModelSpace.AddText(t, Point2, 0.01)

 

Это программа для построения кардиоиды

 

И что такое-
n = ThisDrawing.Utility.GetPoint(, "")
dx = n(0)
dy = n(1)
Point1(2) = 0
Point2(2) = 0
Point1(0) = dx
Point1(1) = dy
t = Str(dx) + "," + Str(dy)
Set txt = ThisDrawing.ModelSpace.AddText(t, Point1, 0.01)
Только начала изучать VBA- не могу разобраться!(((

Изменено пользователем конфета
Ссылка на сообщение
Поделиться на другие сайты

Первый код строит два отрезка и подписывает их концы.
Второй код: пользователь выбирает точку n, и строится надпись с координатами выбранной точки n.
Кардиоида обычно строится, используя параметрические формулы. У вас приведен не полный код, поэтому не ясно, как этот код строит кардиоиду.

Ссылка на сообщение
Поделиться на другие сайты

Полный код выглядит так:
Public a As Integer

 

Public Sub main()
Form1.Show
Draw
End Sub

 

Public Sub Draw()
Dim n As Variant
Dim t As String
Dim Point1(2) As Double
Dim Point2(2) As Double
Dim x, y, r, f, dx, dy As Double
Dim koo As AcadLine
Dim gr As AcadLine
Dim txt As AcadText

 

n = ThisDrawing.Utility.GetPoint(, "")
dx = n(0)
dy = n(1)
Point1(2) = 0
Point2(2) = 0
Point1(0) = dx
Point1(1) = dy
t = Str(dx) + "," + Str(dy)
Set txt = ThisDrawing.ModelSpace.AddText(t, Point1, 0.01)

 

Point1(0) = dx - 2 * a - 1
Point1(1) = dy
Point2(0) = dx + 2 * a + 1
Point2(1) = dy
Set koo = ThisDrawing.ModelSpace.AddLine(Point1, Point2)
t = Str(Point1(0)) + "," + Str(Point1(1))
Set txt = ThisDrawing.ModelSpace.AddText(t, Point1, 0.01)
t = Str(Point2(0)) + "," + Str(Point2(1))
Set txt = ThisDrawing.ModelSpace.AddText(t, Point2, 0.01)

 

Point1(0) = dx
Point1(1) = dy - 2 * a - 1
Point2(0) = dx
Point2(1) = dy + 2 * a + 1
Set koo = ThisDrawing.ModelSpace.AddLine(Point1, Point2)
t = Str(Point1(0)) + "," + Str(Point1(1))
Set txt = ThisDrawing.ModelSpace.AddText(t, Point1, 0.01)
t = Str(Point2(0)) + "," + Str(Point2(1))
Set txt = ThisDrawing.ModelSpace.AddText(t, Point2, 0.01)

 

For f = 0 To 6284
Point1(0) = dx + x
Point1(1) = dy + y
r = a * Cos(f / 1000) + a
x = r * Cos(f / 1000)
y = r * Sin(f / 1000)
Point2(0) = dx + x
Point2(1) = dy + y
If f > 0 Then
Set gr = ThisDrawing.ModelSpace.AddLine(Point1, Point2)
End If
Next f

 

End Sub
_____________________________________________________________________________

 

Private Sub CommandButton1_Click()
a = CInt(TextBox1.Text)
Unload Me
End Sub
Когда я запускаю программу, на экране появляется координатная система и сама кардиоида, и все....

Изменено пользователем конфета
Ссылка на сообщение
Поделиться на другие сайты

Добрушаночка, у меня еще вопрос назрел:

 

Есть необходимость установить в программе некий выбор развития событий (как у Вас в программе основы - выбор ширины полочки, строить рукав или нет...), а вот как это оформляется в написании программы и оформлении формы, чтобы все работало?

 

Заранее спасибо!

Ссылка на сообщение
Поделиться на другие сайты

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...