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

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

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

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

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

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

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


Миша, а Вы попробуйте на русском объяснить что Вам нужно.
Я как не понимал что вы хотите, так и после Вашего исправления не понимаю.
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,437
Отправить сообщение для maratovich с помощью Skype™


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


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


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

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


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


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


Извините я не могу понять как мне из таких выражений: '(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,611


Ваш русский, ужасен.
Что вы имеете ввиду под "координаты точек привязки размеров"?
Приложите, пожалуйста, рисунок с пояснениями.
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,596


а в объектной модели, кстати, про это ни слова: 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
С.-Петербург
Сообщений: 40,406


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

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


Я кажется понял о чем идет речь.
При создании размера в 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,437
Отправить сообщение для maratovich с помощью Skype™


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

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


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


 
Регистрация: 12.07.2009
г. Самара
Сообщений: 2,437
Отправить сообщение для 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
С.-Петербург
Сообщений: 40,406


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


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


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

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


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


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


Спасибо за подсказки! Очень интересная программа в сообщении №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