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

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


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

а у меня глупый вопрос: а никак нельзя сделать так, чтобы точки на графике какие-нибудь обозначения имели? А то я путаться в них начинаю :(( Или сначала лучше на бумаге построить, а потом переносить в автокад? И еще вопрос: а вот лист по умолчанию безразмерные создается? Ну т.е. может ли быть такое, что моя выкройка не поместится на листе?

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

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

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

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


А есть русский хелп по вба у кого нить для автокада или корела на крайняк?

Хелп по VB на русском мне найти не удалось. Если найдете, поделитесь ссылкой.
ggpetrova подсказала идею про пересечение объектов. Благодаря этому мы можем получить координаты любой точки на сплайне. Каким образом вам нужно найти промежуточную точку на сплайне (пересечение каких-то объектов или др.)?
Ссылка на сообщение
Поделиться на другие сайты


И еще вопрос: а вот лист по умолчанию безразмерные создается? Ну т.е. может ли быть такое, что моя выкройка не поместится на листе?

Если в конце основной процедуры программы на VB, вы напишите ZoomAll, то вся выкройка будет видна на экране.
Ссылка на сообщение
Поделиться на другие сайты


а у меня глупый вопрос: а никак нельзя сделать так, чтобы точки на графике какие-нибудь обозначения имели? А то я путаться в них начинаю :(( Или сначала лучше на бумаге построить, а потом переносить в автокад?

Так, например, можно подписывать точки.
post-4191-1223498754_thumb.jpg
Sub Text()a = 6b = 8' Описание точекDim A0(0 To 2) As DoubleDim A1(0 To 2) As DoubleDim A2(0 To 2) As DoubleDim A3(0 To 2) As DoubleDim A4(0 To 2) As Double' Введем координаты точекA0(0) = 0:		  A0(1) = 0:		  A0(2) = 0:A1(0) = A0(0) + a:  A1(1) = A0(1):	  A1(2) = 0:A2(0) = A0(0):	  A2(1) = A0(1) + b:  A2(2) = 0:A3(0) = A0(0) - a:  A3(1) = A0(1):	  A3(2) = 0:A4(0) = A0(0):	  A4(1) = A0(1) - b:  A4(2) = 0:' Построим ромбSet lineobj = ThisDrawing.ModelSpace.AddLine(A1, A2)Set lineobj = ThisDrawing.ModelSpace.AddLine(A2, A3)Set lineobj = ThisDrawing.ModelSpace.AddLine(A3, A4)Set lineobj = ThisDrawing.ModelSpace.AddLine(A4, A1)Dim textObj As AcadText Set textObj = ThisDrawing.ModelSpace.AddText(" A0", A0, 0.5) Set textObj = ThisDrawing.ModelSpace.AddText(" A1", A1, 0.5) Set textObj = ThisDrawing.ModelSpace.AddText(" A2", A2, 0.5) Set textObj = ThisDrawing.ModelSpace.AddText(" A3", A3, 0.5) Set textObj = ThisDrawing.ModelSpace.AddText(" A4", A4, 0.5) ZoomAllEnd Sub


Здесь в строке Set textObj = ThisDrawing.ModelSpace.AddText(" A0", A0, 0.5)
в скобках первое значение параметра " A0" - это текст (он всегда должен браться в кавычки), второе значение A0 - это точка, которую мы подписываем, 0.5 - высота текста.

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


____________.zip
Неправильно видно записываю Посмотрите

Цветы, смотрела второй вариант программы, который Вы мне присылали.
При построении вытачки Вы перепутали между собой длины радиусов.1.zip
так и не смогла построить пересечение прямых K8a и K17

Прямая задается двумя точками. Чтобы пересекать две прямые, нужно знать четыре точки. Какие еще две точки?
А в целом очень хорошо у Вас получается. Молодец!!!
Ссылка на сообщение
Поделиться на другие сайты


А вам тем более большое спасибо, что на трудносоображающих не сердитесь и продолжаете уроки
Спасибо!

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

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

Создадим форму, на которой будет находиться одна кнопка "Закрыть".
Открываем редактор Visual Basic и нажимаем на кнопку добавления формы.
post-4191-1224186828_thumb.jpg
У нас появится пустая форма как на рисунке ниже.
post-4191-1224186835_thumb.jpg
На панели Toolbox (Панель инструментов) выберем значок кнопки.
post-4191-1224186842_thumb.jpg
После этого щелкнем по форме в любом месте, где требуется разместить кнопку. У нас появится вот такая кнопка.
post-4191-1224186849_thumb.jpg
В свойствах кнопки (CommandButton) выберем свойство Caption (Заголовок) и напишем там "Закрыть".
post-4191-1224186858_thumb.jpg
Теперь дважды щелкнем по созданной нами кнопке "Закрыть" и в появившемся окне добавим строчку UserForm1.Hide. Эта команда закрывает форму.
post-4191-1224186864_thumb.jpg
Далее перейдем в основной модуль программы, щелкнув дважды по ThisDrawing. Напишем там следующую программу

Sub Form_Init() UserForm1.Show   'Эта команда открывает формуEnd Sub

post-4191-1224186870_thumb.jpg
После запуска программы мы получим вот такую форму. При нажатии кнопки "Закрыть" форма закроется и программа завершится.
post-4191-1224186876_thumb.jpg
Можно поэкспериментировать с формой добавляя на нее различные компоненты с панели Toolbox.

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


Создадим форму, на которой будет находиться одна кнопка "Закрыть".
Открываем редактор Visual Basic и нажимаем на кнопку добавления формы.

 

По этой теме готовы продолжить
Как построить отрезок или прямую параллельную другой Допустим отрезок 15см

Изменено пользователем Цветы

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

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


Покажу как вычислить координаты точки, делящей отрезок в заданном соотношении.
post-4191-1211784662_thumb.jpg
Мы знаем координаты точек A и B. Нужно вычислить координаты точки C, если известно, что AC:CB=m:n.
C(0) = (n*A(0) + m*B(0)) / (m+n): C(1) = (n*A(1) +  m*B(1)) / (m+n): C(2) = 0


Для случая, когда AC:CB=2:1, координаты точки C будут иметь такой вид

C(0) = (A(0) + 2*B(0)) / 3: C(1) = (A(1) +  2*B(1)) / 3: C(2) = 0


 

Добрушанка нужна помощь так и не получается найти точку по наклонной прямой (K36)____________.zip

Изменено пользователем Цветы

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

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

Добрушанка, а не посмотрите мою юбку?
Пробовала построить выкройку по Мюллеру. Не очень понравилось как вытачки получились. У точек 1 и 8 получилось с помощью касательных на концах сплайна хорошо сделать, а вот в основном линия талии как-то не очень получилась. И боковая вытачка тоже какая-то "нетакая", может надо как-то третью точку добавить, но где ее взять. Может у вас какая-то идея есть?

yubka_myuller.zip

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


Добрушанка нужна помощь так и не получается найти точку по наклонной прямой (K36)

Если искать по тем формулам, которые Вы указали, то код будет иметь такой вид
'Найти точку K36 по линии К33-К35Dim K36(0 To 2) As Doublez = 1 / 4 * Tu + 3z1 = Dlina(K33(0), K33(1), K35(0), K35(1)) - zK36(0) = (z * K33(0) + z1 * K35(0)) / (z + z1): K36(1) = (z * K33(1) + z1 * K35(1)) / (z + z1): K36(2) = 0Set textObj = ThisDrawing.ModelSpace.AddText("K36", K36, 0.5)

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


Добрушанка, а не посмотрите мою юбку?
Пробовала построить выкройку по Мюллеру. Не очень понравилось как вытачки получились. У точек 1 и 8 получилось с помощью касательных на концах сплайна хорошо сделать, а вот в основном линия талии как-то не очень получилась. И боковая вытачка тоже какая-то "нетакая", может надо как-то третью точку добавить, но где ее взять. Может у вас какая-то идея есть?

Поправила касательные ко всем сплайнам. Так подойдет?
Если что-то не понятно, спрашивайте.
yubka_myuller01.zip
Ссылка на сообщение
Поделиться на другие сайты

____________.zipМы строили строили наконец-то построили, но ура боюсь кричать пока не посмотрите Изменять пробовала мерки - изменяется чертеж, а вот проверку не делала Только сейчас закончила строить
Столкнулась еще с такими вопросами. Допустим я хочу закрыть какой либо цвет чтобы посмотреть без дополнительных линий чертеж и еще если в тексте нужно записать Пример-Синяя линия-задняя часть
Красная линия-передняя часть

 

Запись под чертежем для пояснения его

Изменено пользователем Цветы

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

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

__________________.zipДобрушанка вот такая проблема Построила по Мюллеру из журнала Ателье 11/2004 блузу безвыточек но почему-то она у меня ломается не хочет изменяться Что я могла сделать не правильно (может связь какуюто упустила в построении самом) пока не пойму

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

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


Добрушанка вот такая проблема Построила по Мюллеру из журнала Ателье 11/2004 блузу безвыточек но почему-то она у меня ломается не хочет изменяться Что я могла сделать не правильно (может связь какуюто упустила в построении самом) пока не пойму

А что именно Вам не нравится в этом построении? Укажите, пожалуйста, более конкретно, чтобы я знала, что смотреть.

 

В программе построения брюк я заменила вместо разных цветов разные слои. Теперь можно отключать любой из слоев, например все синие линии, которые находятся на слое "Синий". Названия слоев в программе Вы можете изменять, как Вам нравится. BrukiMuller_01.zip

 

Вы молодец, написали хорошую программу для построения брюк. Думаю, что другие программы у Вас тоже будут получаться.

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


А что именно Вам не нравится в этом построении? Укажите, пожалуйста, более конкретно, чтобы я знала, что смотреть.

 

Я когда меняю мерки то у меня чертеж ломается Вот например ставила мерки клиентки
ПОб=95
ПОг=100
Дизд=65
Пош=18 Я эту мерку делила на 3 и придерживалась для проверки +0.5 Фактически эту мерку не применяла
Дтс=43
ВПРсзади=25
Дтп=44.5
Шг=38
Шс=42
Вроде подставленные мерки изменяются, но при этом ламается сплайн проймы спинки
Если я меняю 2 мерки ОГ и ОБ то мой чертеж уже совсем не изменяется лишь только увеличивается длина линии К2-К3 и по линии бедра выставляется точка со стороны спинки, по ПОГ Может в этом построении Мюллера нужно менять все мерки постоянно, а не только 2 ОБ и ОГ (Поэтому и думаю может привязки у меня нет правильной в построении к меркам и при таком построении Мюллера может добавить что-то свое нужно) Так что еще и характерно, что мерка по линии груди увеличивает отрезок в лево, а мерка по линии бедер увеличивается вправо Единственное что мерка талии вообще в этом фасоне не участвует.

 

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

 

И хотелось бы продолжить урок по сообщению 109 чтобы менять мерки было удобнее как в вашей программе Основа с рукавом

Изменено пользователем Цветы

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

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

Поправьте пожалуйста построение горловины полочки в платье по Мюллеру
точка построения К31 должна быть равной S1 значению а у меня получается больше

___________.zip

Изменено пользователем Цветы

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

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

Вроде подставленные мерки изменяются, но при этом ламается сплайн проймы

Проблема с построением плеча, длина отрезка К15К18 не изменяется при вводе других данный. У Вас неправильно строится точка К18. Как она должна строиться по построению? Напишите, а я подправлю код.
Ссылка на сообщение
Поделиться на другие сайты


Поправьте пожалуйста построение горловины полочки в платье по Мюллеру
точка построения К31 должна быть равной S1 значению а у меня получается больше

Поворот нужно осуществлять вокруг точки L16, а не вокруг K30, как у Вас, и на угол 45 градусов (Pi / 4). Исправленная часть кода программы, которая отвечает за этот поворот:
Dim K31(0 To 2) As DoubleCall rotate_beta(L16(0), L16(1), K30(0), K30(1), Pi / 4, S1, x, y)K31(0) = x: K31(1) = y: K31(2) = 0

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

post-4209-1225915070_thumb.jpg____________.zip


Проблема с построением плеча, длина отрезка К15К18 не изменяется при

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

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

доброго все времени суток
поскажиет пожалуйста как задавать условие при вычислении формул?
скажем строю юбку...задаю мерки и расчеты
ob = 90
ot = 58
...
zx = 7
px = 1
..
OO1 = (zx-px)/2
Shp = ob/4 - OO1 (по методике если ОО1 > 2, надо делить пополам и более, если нет, брать исходную)

 

какие команды нужно использовать?

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

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

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