| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > как с помощью vba начертить линию

как с помощью vba начертить линию

Ответ
Поиск в этой теме
Непрочитано 09.09.2008, 21:06
как с помощью vba начертить линию
vasyavip
 
Регистрация: 09.09.2008
Сообщений: 47

Здравствуйте, Господа!
Подскажите пожалуйста:
Как с помощью vba начертить группу линий, их образмерить и вставить на чертеже там, где это нужно пользователю!

Я хочу создать базу небольших примитивов, таких как:
линия разрыва, уровень, штамп, спецификация(с выбором количества строк), ведомость расхода стали и все это вставить туда куда надо пользователю а не привязывать к нулевой точке.
Спасибо за ответы.

З.Ы.
завтра скину сюда код спецификации (общестроительной), надеюсь на вашу критику.
Просмотров: 30944
 
Автор темы   Непрочитано 23.09.2008, 22:03
#61
vasyavip


 
Регистрация: 09.09.2008
Сообщений: 47


Алексей aka kpblc - а поучиться?
vasyavip вне форума  
 
Непрочитано 23.09.2008, 22:14
#62
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


vasyavip, #61 - это про программное создание форматок?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 23.09.2008, 22:58
#63
vasyavip


 
Регистрация: 09.09.2008
Сообщений: 47


Именно так!
vasyavip вне форума  
 
Автор темы   Непрочитано 23.09.2008, 22:59
#64
vasyavip


 
Регистрация: 09.09.2008
Сообщений: 47


Я хочу реализоваь программу для автоматического конструирования колонны. Это та цель, которая вдохновляет!

Последний раз редактировалось vasyavip, 24.09.2008 в 21:11.
vasyavip вне форума  
 
Автор темы   Непрочитано 26.09.2008, 22:07
#65
vasyavip


 
Регистрация: 09.09.2008
Сообщений: 47


Я зашел к нашим разрабодчикам када
http://discussion.autodesk.com
как у них там хило с инфой.
Наш форум гораздо профессиональнее и более информативный.
Явно они dwg.ru у себя, как домашнюю страницу загружают!
vasyavip вне форума  
 
Автор темы   Непрочитано 27.09.2008, 16:50
#66
vasyavip


 
Регистрация: 09.09.2008
Сообщений: 47


Вот, что еще понаделал.
Вопрос:
диаметр опавки правильный или надо половину, т.е. не 8 диаметров а 8 радиусов?
Вложения
Тип файла: rar Raschet.rar (33.4 Кб, 97 просмотров)

Последний раз редактировалось vasyavip, 03.10.2008 в 21:40.
vasyavip вне форума  
 
Автор темы   Непрочитано 03.10.2008, 21:41
#67
vasyavip


 
Регистрация: 09.09.2008
Сообщений: 47


АУ! Коллеги, прокомментируйте прогу!

Да! Ура, у меня получилось вставить линию разрыва туда, куда я хотел, только вот не понял, как мне эту полилинию повернуть и растянуть.
vasyavip вне форума  
 
Автор темы   Непрочитано 03.10.2008, 21:43
#68
vasyavip


 
Регистрация: 09.09.2008
Сообщений: 47


Алексей aka kpblc, а как сделать так, чтобы линии чертилить на заданное расстояние друг от друга (по примеру осей) и чтобы можно было менять расстояние между линиями.
Да и еще, как между ними еще и размеры провести?
vasyavip вне форума  
 
Непрочитано 04.10.2008, 10:57
#69
Александр Бауск

FEA/CAD/МКЭ/САПР
 
Регистрация: 20.03.2007
48,38°:35,03°
Сообщений: 1,056
Отправить сообщение для Александр Бауск с помощью Skype™


Только чур, не обижаться.
Программу такую я бы до пользователей не доводил.
"Синие" поля на эскизе, оказывается, можно менять. Это так надо или так не надо? Писать туда можно любую белиберду, в том числе буквы.
Алгоритм вообще непонятен. Ввожу одно, он самовольно что-то изменяет, справа, как вдруг выясняется, оказываются результаты.

Ошибки не отлавливаются вообще, как я вижу. Нет, к пользоватлям такую программу пускать нельзя.

Ну и самое главное: почему это вообще реализовано в VBA? Самый неподходящий инструмент.
__________________
Reshaping the STEM field
Александр Бауск вне форума  
 
Автор темы   Непрочитано 04.10.2008, 11:37
#70
vasyavip


 
Регистрация: 09.09.2008
Сообщений: 47


Александр Бауск, а как запретить вводить буквы и спецсимволы?
А насчет правой части - это и правда результат!
Как сделать ее лучше?
Код ведь открыт. Или таки е программы не нужны пользователям? А ее делал, чтобы научиться работать в vba. Моя первоначальная задумка - это в диалоговом режиме спросить у пользователя, что ему надо и начертить это!
vasyavip вне форума  
 
Непрочитано 04.10.2008, 12:59
#71
Александр Бауск

FEA/CAD/МКЭ/САПР
 
Регистрация: 20.03.2007
48,38°:35,03°
Сообщений: 1,056
Отправить сообщение для Александр Бауск с помощью Skype™


1. Нужно вообще не использовать textbox, для этого есть просто label.

2. О чем я и говорю - программа лично для меня работает неочевидно. Хорошо, если автор будет стоять за плечом и объяснять, что куда вводить. Но так же не всегда бывает.

3. Если приложение чтоб научиться - тогда тут вообще не в коде дело, а в правильном проектировании пользовательского интерфейса.

4. Чтобы научиться работать в VBA, надо работать с тем самым ценным, что в нем есть (кроме возможности рисовать удобные интерфейсы) - с объектной моделью хозяйского приложения, то есть Автокада.

5. Насчет полезности пользователям. По формулам можно и на калькуляторе посчитать. Смысл какой программы этой, смысл?
Такие приложения на ура пишутся в Excel, откуда результат можно сразу красиво распечатать. Кстати, на том же VBA.
И при этом не держать целый Автокад и не подключать мучительно dvb.
__________________
Reshaping the STEM field
Александр Бауск вне форума  
 
Непрочитано 04.10.2008, 23:08
#72
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


vasyavip, похоже, я опоздал с попыткой "разбора" кода. Только что скачал - проект защищен паролем.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 05.10.2008, 22:19
#73
vasyavip


 
Регистрация: 09.09.2008
Сообщений: 47


rtyuehe159263487 - пароль на все программы
vasyavip вне форума  
 
Непрочитано 05.10.2008, 23:22
#74
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


В качестве рекомендаций по коду (для оценки работы программы надо понимать, что она делает. У меня этого понимания нет.):
1. Контролам давать более информативные имена, чем CommanButton163 и TextBox654789 (утрирую, но все же...)
2. Я бы изменил интерфейс: вычисляемые значения - в Labels (см.71); вводимые поля - выделить визуально. Кнопку [Результат], может, будет иметь смысл перенести вне Tab
3. Помимо собственно вычисления надо что-то, что "перебьет" желание сделать аналогичное в Excel'e
4. Смысл защиты проект паролем от меня как-то ускользает...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 07.10.2008, 23:05
#75
vasyavip


 
Регистрация: 09.09.2008
Сообщений: 47


Алексей aka kpblc
как начертить линию или группу объектов, ее программно выделить и сместить ее копию на расстояние введенное пользователем?
vasyavip вне форума  
 
Непрочитано 08.10.2008, 00:04
#76
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


После выполнения кода типа ThisDrawing.ModelSpace.AddLine возвращается указатель на созданный отрезок. Ну и подставляй его в метод Copy - делов-то...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 08.10.2008, 23:22
#77
vasyavip


 
Регистрация: 09.09.2008
Сообщений: 47


Алексей, поподробнее, не понял?!
vasyavip вне форума  
 
Непрочитано 09.10.2008, 23:17
#78
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


Это как "подробнее"?
Код:
[Выделить все]
Option Explicit
Option Base 0

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)
    
    Dim copyObj As AcadLine
    Set copyObj = lineObj.Copy
    
    Dim ptStartMove(2) As Double, ptEndMove(2) As Double
    ptStartMove(0) = 1#: ptStartMove(1) = 1#: ptStartMove(2) = 0#
    ptEndMove(0) = 10#: ptEndMove(1) = -1#: ptEndMove(2) = -10#
    copyObj.Move ptStartMove, ptEndMove
    copyObj.color = 1
End Sub
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > как с помощью vba начертить линию

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как из автокада с помощью макроса-кнопки запустить файл exe dextron3 Программирование 37 15.12.2008 19:15
Как начертить? Circul AutoCAD 10 31.10.2007 15:00
Как в Акаде начертить коническую или цилиндрическу развёртку Grinzaid AutoCAD 1 29.01.2004 13:23
Подскажите как построить кривую с помощью команды SPLiNE, к boban Программирование 1 02.11.2003 19:58
Как на LISPе автоматически выбрать линию и точку? Mikhail LISP 4 28.10.2003 10:33