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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как получить точку привязки начала размера AutoCAD на VBA?

Как получить точку привязки начала размера AutoCAD на VBA?

Ответ
Поиск в этой теме
Непрочитано 25.09.2013, 09:32 #1
Как получить точку привязки начала размера AutoCAD на VBA?
МишаИнженер
 
Регистрация: 14.12.2008
Сообщений: 1,079

Помогите пожалуйста получить точку привязки начала размера AutoCAD на VBA!
Посмотрел сам и понимаю что на VBA AutoCAD нельзя написать такой простой программы как замена нескольких размеров одним общим с повторением величин заменённых более мелких размеров.
Как было бы удобно пользоваться такой программой в AutoCAD! Подскажите пожалуйста как сделать такую программу на VBA!
Как получить точки привязки размеров на VBA?

Последний раз редактировалось МишаИнженер, 25.09.2013 в 10:25.
Просмотров: 9037
 
Непрочитано 25.09.2013, 12:25
#2
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Миша, а Вы попробуйте на русском объяснить что Вам нужно.
Я как не понимал что вы хотите, так и после Вашего исправления не понимаю.
Boxa вне форума  
 
Непрочитано 25.09.2013, 12:30
#3
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


Цитата:
Сообщение от Boxa Посмотреть сообщение
Миша, а Вы попробуйте на русском объяснить что Вам нужно.
Offtop: Очень похоже на изьяснения пьяного китайца на русском языке....
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Непрочитано 25.09.2013, 12:41
#4
СергейКА

Технолог
 
Регистрация: 22.10.2005
Краснодарский край
Сообщений: 75


Цитата:
Сообщение от МишаИнженер Посмотреть сообщение
замена нескольких размеров одним общим с повторением величин заменённых более мелких размеров
Вы пробовали пользоваться РЗМЦЕПЬ? Я понимаю, если бы надо было в итоге получить общий размер = сумме "мелких размеров" или же вместо общего размера текст в виде "размер1+размер2+..."
СергейКА вне форума  
 
Непрочитано 25.09.2013, 12:45
#5
maratovich


 
Регистрация: 12.07.2009
г. Самара
Сообщений: 2,481
Отправить сообщение для maratovich с помощью Skype™


Цитата:
Сообщение от МишаИнженер Посмотреть сообщение
одним общим с повторением величин заменённых более мелких размеров.
А если будет дырка (пропуск) ? Тогда как записывать ?
__________________
Вопрос : Где находится Тургай ? Ответ : Между Парагваем и Уругваем.....
maratovich вне форума  
 
Автор темы   Непрочитано 25.09.2013, 14:16
#6
МишаИнженер


 
Регистрация: 14.12.2008
Сообщений: 1,079


У меня начерчена длинная цепь из мелких размеров с помощью команды "ПродолжитьРазмер". Но после сокращения отображаемых элементов на чертеже, балки моста стираются а в схеме моста информация об этих балках остаётся. Мне надо вместо множества мелких одинаковых размеров начертить один общий размер с текстом: 50х55800=2790
Как вы понимаете раньше на чертеже было начерчено 50 балок длиной 55,8 м, а после сокращения отображаемых балок надо чтобы размер отображал схему моста!
МишаИнженер вне форума  
 
Непрочитано 25.09.2013, 15:04
#7
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,840


Цитата:
Сообщение от МишаИнженер Посмотреть сообщение
Мне надо вместо множества мелких одинаковых размеров начертить один общий размер с текстом: 50х55800=2790
Вот
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Автор темы   Непрочитано 26.09.2013, 10:25
#8
МишаИнженер


 
Регистрация: 14.12.2008
Сообщений: 1,079


Извините я не могу понять как мне из таких выражений: '(lambda (a b) (> (apply 'distance a) (apply 'distance b))))))) найти код который мне поможет определить точку привязку линий размеров
Как с помощью LISP, ARX, C++ можно определить координаты точек привязки размеров?
Эта задача простым образом решена быть не можетв AutoCAD?
МишаИнженер вне форума  
 
Непрочитано 26.09.2013, 11:47
#9
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Ваш русский, ужасен.
Что вы имеете ввиду под "координаты точек привязки размеров"?
Приложите, пожалуйста, рисунок с пояснениями.
Boxa вне форума  
 
Непрочитано 26.09.2013, 16:03
#10
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


МишаИнженер, вместо того, чтоб посмотреть справку по объектной модели разводите тут пингвиньи споры...
gomer вне форума  
 
Непрочитано 26.09.2013, 16:30
#11
swell{d}

гадание на конечно-элементной гуще
 
Регистрация: 31.05.2006
Düsseldorf
Сообщений: 7,604


а в объектной модели, кстати, про это ни слова: http://vbamodel.narod.ru/AutoCAD/idh...ted_object.htm
или я чего-то не вижу?
__________________
.: WikiЖБК + YouTube :.
swell{d} вне форума  
 
Непрочитано 26.09.2013, 18:04
#12
Кулик Алексей aka kpblc
Moderator

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


Я не понимаю, зачем писать именно на VBA...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 26.09.2013, 18:15
#13
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Я кажется понял о чем идет речь.
При создании размера в VBA задаются точки: startExtPoint и endExtPoint в строке
Set dimObj = ThisDrawing.ModelSpace.AddDimRotated(startExtPoint, endExtPoint,dimLinePoint, rotationAngle)

Код:
[Выделить все]
    Dim dimObj As AcadDimRotated
    Dim rotationAngle As Double
    Dim startExtPoint(0 To 2) As Double
    Dim endExtPoint(0 To 2) As Double
    Dim dimLinePoint(0 To 2) As Double
 
    ' Define the dimension
    rotationAngle = 0.707
    startExtPoint(0) = 0: startExtPoint(1) = 0: startExtPoint(2) = 0
    endExtPoint(0) = 6: endExtPoint(1) = 3: endExtPoint(2) = 0
    dimLinePoint(0) = 0: dimLinePoint(1) = 5: dimLinePoint(2) = 0
 
    ' Create the rotated dimension in Model space
    Set dimObj = ThisDrawing.ModelSpace.AddDimRotated(startExtPoint, endExtPoint,dimLinePoint, rotationAngle)

И автор топика хочет, выбрав на чертеже произвольный размер, посмотреть координаты этих точек.

Прямой доступ к этим свойствам, из VBA (в VB.NET это св-ва XLine1Point/XLine2Point), аутодеск не дает.
Однако, т.к. размер это анонимный блок с именем вида *D00, то найдя блок соответствующий размеру (как вариант по координатам текста), внутри блока Вы найдете и желаемые точки.

Удачи в работе.
Boxa вне форума  
 
Непрочитано 26.09.2013, 20:41
#14
maratovich


 
Регистрация: 12.07.2009
г. Самара
Сообщений: 2,481
Отправить сообщение для maratovich с помощью Skype™


Цитата:
Сообщение от МишаИнженер Посмотреть сообщение
Как с помощью LISP, ARX, C++ можно определить координаты точек привязки размеров?
Эта задача простым образом решена быть не можетв AutoCAD?
5 минут поиска и есть решение (координат точек).
Смотрите пост №7
__________________
Вопрос : Где находится Тургай ? Ответ : Между Парагваем и Уругваем.....
maratovich вне форума  
 
Непрочитано 26.09.2013, 22:11
#15
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Цитата:
Сообщение от maratovich Посмотреть сообщение
5 минут поиска и есть решение (координат точек).
Смотрите пост №7
Эт не спортивно =о)
Вопрос был, как это сделать в VBA, а там гибрид =о)
Boxa вне форума  
 
Непрочитано 26.09.2013, 23:17
#16
maratovich


 
Регистрация: 12.07.2009
г. Самара
Сообщений: 2,481
Отправить сообщение для maratovich с помощью Skype™


Цитата:
Сообщение от Boxa Посмотреть сообщение
внутри блока Вы найдете и желаемые точки
А там их 12 шт. Осталось определить нужные.....
__________________
Вопрос : Где находится Тургай ? Ответ : Между Парагваем и Уругваем.....
maratovich вне форума  
 
Непрочитано 26.09.2013, 23:18
#17
Кулик Алексей aka kpblc
Moderator

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


А что, по слою Defpoints их не отсортировать?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 26.09.2013, 23:24
#18
maratovich


 
Регистрация: 12.07.2009
г. Самара
Сообщений: 2,481
Отправить сообщение для maratovich с помощью Skype™


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
А что, по слою Defpoints их не отсортировать?
Нет, они все на Defpoints
Решилось просто - первая и вторая точка по порядку и есть привязки размера.
Ну вот и решение на VBA
Автор сам разберешься что делать или как ?
__________________
Вопрос : Где находится Тургай ? Ответ : Между Парагваем и Уругваем.....
maratovich вне форума  
 
Непрочитано 27.09.2013, 09:23
#19
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


ИМХО, для успокоения проверял бы расстояние между точками и угол наклона прямой проходящей через эти точки и сравнивал с данными из размера.
Может еще какие нибудь данные проверил, но это уже сам автор пускай думает.
Boxa вне форума  
 
Автор темы   Непрочитано 23.08.2015, 20:07
#20
МишаИнженер


 
Регистрация: 14.12.2008
Сообщений: 1,079


Спасибо за подсказки! Очень интересная программа в сообщении №7 и вроде бы работает! Ещё раз СПАСИБО!
МишаИнженер вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как получить точку привязки начала размера AutoCAD на VBA?

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AutoCad Civil 3D 2010. Как получить отчет по координатам точек характерной линии в формате Excel rassom Вертикальные решения на базе AutoCAD 2 16.10.2011 02:30
Как из отрезков в AutoCAD 2009 получить объект meola AutoCAD 9 24.04.2011 20:15
Как получить точку с именем рядом стоящей надписи? star282 AutoCAD 3 22.03.2011 17:12
Как выдавить круг в точку? (получить конус) yakusevich AutoCAD 14 25.09.2010 21:22
Как зная точку выбрать объект и получить его свойства? Zaghim Программирование 6 13.09.2010 09:07