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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Идентификация объекта line

Идентификация объекта line

Ответ
Поиск в этой теме
Непрочитано 31.07.2014, 23:03 #1
Идентификация объекта line
vaxo55
 
Регистрация: 05.04.2012
Сообщений: 35

есть такая задача:
надо чтоб при нажатии на кнопке формы vba, отдельные объекты line повернулись; для этого стараюсь идентифицировать объекты line подобно объекта Layer:
Dim layerObj As AcadLayer
Set layerObj = ThisDrawing.Layers.Add("ABC")
layerObj.Color = acRed
но никак не получается
lineObj.name- и подобные выдает ошибки
прошу посоветовать решением
спасибо за ранее
Просмотров: 4297
 
Непрочитано 31.07.2014, 23:13
#2
Кулик Алексей aka kpblc
Moderator

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


При работе в VBA срабатывает IntelliSense, насколько я помню. Посмотри внимательно: у объекта AcDbLine нет и быть не может свойства Name: смотри справку по объектной модели AutoCAD.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 31.07.2014, 23:18
#3
vaxo55


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


Кулик Алексей aka kpblc
спасибо за отзыв
"у объекта AcDbLine нет и быть не может свойства Name". да я этого уже смотрел ,и как поступать?
а если командовать из внешний VB?
vaxo55 вне форума  
 
Непрочитано 31.07.2014, 23:19
#4
Кулик Алексей aka kpblc
Moderator

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


А какая разница? Объектная модель остается неизменной.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 31.07.2014, 23:20
#5
vaxo55


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


или взять другой примитив которий поддается команде rotate?
vaxo55 вне форума  
 
Непрочитано 01.08.2014, 07:19
#6
trir


 
Регистрация: 18.12.2010
Сообщений: 5,108


У линии, как и любого графичесго примитива есть ObjectId и Handle
trir вне форума  
 
Непрочитано 01.08.2014, 15:38
#7
gomer

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


Почему тема не в программировании? Что мешает нарисовать линии сразу в проектном положении? Что мешает воспользоваться LineObj.Rotate?
gomer вне форума  
 
Непрочитано 01.08.2014, 21:12
#8
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от gomer Посмотреть сообщение
Почему тема не в программировании?
Бывает, закрутились. Перемещено.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 02.08.2014, 07:31
#9
vaxo55


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


gomer

Цитата:
Сообщение от gomer Посмотреть сообщение
Что мешает нарисовать линии сразу в проектном положении? Что мешает воспользоваться LineObj.Rotate?
надо повернуть уже нарисованную линию из многих по команде только одну я пробовал через objectname, но не получается сейчас
Цитата:
Сообщение от trir Посмотреть сообщение
ObjectId и Handle
вуду пробовать
vaxo55 вне форума  
 
Непрочитано 02.08.2014, 09:01
#10
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


Может этот пример
Цитата:
Добавим в чертеж с помощью VBA линию (отрезок) и повернем ее на определенный угол, например
45 градусов. Как это сделать?
поможет? И проще всего все таки через имя слоя выборку автоматическую делать, поскольку для обработки ObjectId и Handle к ним надо программно обращаться и все равно на основании каких то дополнительных условий делать выборку.

А если по слою: цикл по пространству модели I1=0..ThisDrawing.ModelSpace.Count - 1, проверка типа ThisDrawing.ModelSpace.Item(I1).ObjectName="AcDbLine", проверка имени слоя и поворот. А линии для поворота в нужный слой загоняются стандартными средствами автокада.

Последний раз редактировалось Сергей812, 02.08.2014 в 09:19.
Сергей812 вне форума  
 
Непрочитано 02.08.2014, 09:49
#11
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
цикл по пространству модели I1=0..ThisDrawing.ModelSpace.Count - 1, проверка типа ThisDrawing.ModelSpace.Item(I1).ObjectName="AcDbLine", проверка имени слоя и поворот. А линии для поворота в нужный слой загоняются стандартными средствами автокада.
А просто набор (SelectionSet) почему не создать?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 02.08.2014, 09:58
#12
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
А просто набор (SelectionSet) почему не создать?
Ну в топике темы было:

Цитата:
Сообщение от vaxo55 Посмотреть сообщение
надо чтоб при нажатии на кнопке формы vba, отдельные объекты line повернулись
Если бы задача была сформулирована - как повернуть группу выделенных line по нажатию кнопки на форме VBA - то тогда через SelectionSet, конечно. Я просто один из вариантов предложил - как решал в свое время свои задачи по идентификации объектов на чертеже на VBA. Можно и фильтр создать, и сделав потом выборку SelectionSet - это уже дело предпочтений)

Последний раз редактировалось Сергей812, 02.08.2014 в 10:16.
Сергей812 вне форума  
 
Непрочитано 02.08.2014, 10:13
#13
gomer

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


Цитата:
Сообщение от vaxo55 Посмотреть сообщение
надо повернуть уже нарисованную линию
В каком виде хранится информация о
Цитата:
Сообщение от vaxo55 Посмотреть сообщение
ObjectId и Handle
?
gomer вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Идентификация объекта line



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Консервация объектов незавершенного строительства msv_mnv Обследование зданий и сооружений 6 11.11.2017 23:07
AUTOCAD 2010 перестал переключаться в многооконный режим. Проблемы с переменными Андрей Х. AutoCAD 24 27.05.2015 10:17
Ввод в эксплуатацию салона красоты - нужно ли (и в какой форме) согласование с пожарниками ? drill_man Прочее. Архитектура и строительство 4 20.09.2013 12:03
Есть способ заставить работать из под лиспа _QDIM? Kirill_Ja LISP 3 01.05.2013 19:57
AutoCAD2010 выдает 82 отчета об ошибке за раз Nusia AutoCAD 22 29.08.2012 16:11