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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Динамические блоки > Динамический блок и коммандная строка

Динамический блок и коммандная строка

Ответ
Поиск в этой теме
Непрочитано 21.04.2009, 13:34
Динамический блок и коммандная строка
Сергей Дубина
 
Регистрация: 06.04.2009
Сообщений: 702

Можно ли используя исключительно коммандную строку создать динамический блок с параметрами видимости, отражения, атрибутами и прочими наворотами.
Если можно дайте конкретный пример.
Просмотров: 6509
 
Автор темы   Непрочитано 22.04.2009, 17:21
#21
Сергей Дубина


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


Цитата:
Сообщение от wetr Посмотреть сообщение
Тогда зачем 1 динамический создавать программно? Много времени?
В том то всё и дело что немного. Раньше я работал в 2005 каде сейчас в 2009. Динблоки удобнее вот я и решил на них перейти. Раньше у меня была куча файлов (блоков) для каждой марки изделия.
Да и програмным на 100% метод не назовёшь. Все размеры в таблице. Програмно из размеров формируются только строки для коммандной строки через объектную модель.
Сергей Дубина вне форума  
 
Непрочитано 22.04.2009, 19:56
#22
AlphaGeo


 
Сообщений: n/a


Цитата:
Сообщение от Сергей Дубина Посмотреть сообщение
Динблоки удобнее вот я и решил на них перейти. Раньше у меня была куча файлов (блоков) для каждой марки изделия.
А сколько получилось дин.блоков из той кучи обычных?

Цитата:
Сообщение от Сергей Дубина
Да и програмным на 100% метод не назовёшь. Все размеры в таблице. Програмно из размеров формируются только строки для коммандной строки через объектную модель.
Может я чего не так понял, но мне почему-то кажется, что речь идет о вставке дин.блоков в файл с характеристиками, заполняемыми в процесс вставки.
Если не прав, поправьте.
 
 
Автор темы   Непрочитано 23.04.2009, 10:33
#23
Сергей Дубина


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


Цитата:
Сообщение от AlphaGeo Посмотреть сообщение
А сколько получилось дин.блоков из той кучи обычных?


Может я чего не так понял, но мне почему-то кажется, что речь идет о вставке дин.блоков в файл с характеристиками, заполняемыми в процесс вставки.
Если не прав, поправьте.
Речь идет о создании определения дин. блока (с параметром видимости для однотипных изелий).
По поводу второй части вопроса - по моему нельзя настроить параметры при вставке блока через коммандную строку.
Если кто подскажет как настраивать параметры при вставке - буду рад.
Сергей Дубина вне форума  
 
Непрочитано 23.04.2009, 11:01
#24
AlphaGeo


 
Сообщений: n/a


Цитата:
Сообщение от Сергей Дубина Посмотреть сообщение
Речь идет о создании определения дин. блока (с параметром видимости для однотипных изелий).
Что-то тут я не пойму... Блоки используются для того, чтобы заменять собой такие вот однотипные повторяющиеся элементы чертежей. Для чего же Вам нужно каждый раз создавать новый блок? Или библиотека простых блоков с AutoCAD 2005 настолько велика, что переделать ее представляется возможным только с помощью программирования?

Цитата:
Сообщение от Сергей Дубина
По поводу второй части вопроса - по моему нельзя настроить параметры при вставке блока через командную строку.
Если кто подскажет как настраивать параметры при вставке - буду рад.
Вот тут я сам не уверен. Я говорил о свойствах блоков. Думаю, через LISP до них легко можно добраться и отредактировать сразу после вставки блока (конкретного вхождения блока).
 
 
Автор темы   Непрочитано 23.04.2009, 12:54
#25
Сергей Дубина


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


Цитата:
Сообщение от AlphaGeo Посмотреть сообщение
Что-то тут я не пойму... Блоки используются для того, чтобы заменять собой такие вот однотипные повторяющиеся элементы чертежей. Для чего же Вам нужно каждый раз создавать новый блок? Или библиотека простых блоков с AutoCAD 2005 настолько велика, что переделать ее представляется возможным только с помощью программирования?
Доведу ранее приведённый пример до конца (про 130 "статических" блоков).
Эти блоки - изображения тройников по ГОСТ 5525-88 с невидимыми атрибутами обозначения, наименования и массы для спецификаций. Для того чтобы перевести всё это добро вручную в один динблок надо создать параметр видимости с перечнем из 130 пунктов и по одному открывать "файлы с тройниками" копировать и вставлять для каждого состояния видимости.
Это просто тошнилово. Кроме тройников много всякого добра.

Вот тут я сам не уверен. Я говорил о свойствах блоков. Думаю, через LISP до них легко можно добраться и отредактировать сразу после вставки блока (конкретного вхождения блока).
Хорошо бы примерчик какой?
Сергей Дубина вне форума  
 
Непрочитано 23.04.2009, 13:41
#26
AlphaGeo


 
Сообщений: n/a


Цитата:
Сообщение от Сергей Дубина Посмотреть сообщение
Хорошо бы примерчик какой?
Начало изучение LISP'a в моих планах только со следующей недели
Так что от меня примерчики - через некоторое время.

Добавлено:
Offtop: Сергей Дубина, тэги поправь в своем крайнем сообщении, а то я сначала нифига не понял, когда ж я это писал про 130 блоков да еще и по какому-то ГОСТу.
 
 
Непрочитано 23.04.2009, 13:50
#27
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


Если блок только что вставили, то естественно (entlast) его и вернёт

Далее можно получить список vla-указателей на динамические свойства блока.
Код:
[Выделить все]
(vlax-safearray->list
  (vlax-variant-value
    (vla-GetDynamicBlockProperties (vlax-ename->vla-object (entlast)))
  )
)
Ну и делать с ними всё, что захочешь.
Makswell вне форума  
 
Непрочитано 23.04.2009, 13:55
#28
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837


Цитата:
Сообщение от Сергей Дубина Посмотреть сообщение
Хорошо бы примерчик какой?
Изменение свойств динамических блоков:
http://www.caduser.ru/forum/index.ph...D=44&TID=36703
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Автор темы   Непрочитано 23.04.2009, 14:34
#29
Сергей Дубина


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


Спасибо.
А на VBA посоветуете?
Сергей Дубина вне форума  
 
Непрочитано 23.04.2009, 18:32
#30
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,692


К примеру, в файле чертежа имеем описание динамического блока "Block1" с параметром видимости "Видимость" и состояниями этого параметра "Видимость1" и "Видимость2", а также линейный параметр "Длина". Следующий код, повешенный на CommandButton1, вставляет блок и присваивает соответствующие значения дин. параметрам, беря их из TextBox1 и ComboBox1 (эти элементы, естественно, надо разместить на форме).
Код:
[Выделить все]
Private Sub CommandButton1_Click()
On Error GoTo err_ch
Dim insertedBlock As AcadBlockReference, AttrDin, InsertPnt, obj
InsertPnt = ThisDrawing.Utility.GetPoint(, vbCrLf & "Точка вставки....")
Set insertedBlock = ThisDrawing.ModelSpace.InsertBlock(InsertPnt, "Block1", 1#, 1#, 1#, 0#)
AttrDin = insertedBlock.GetDynamicBlockProperties
 For Each obj In AttrDin
   If obj.PropertyName = "Длина" Then
     obj.Value = Val(TextBox1.Value)
   End If
   If obj.PropertyName = "Видимость" Then
     Select Case ComboBox1.Value
      Case "Вариант 1"
       obj.Value = "Видимость1"
      Case "Вариант 2"
       obj.Value = "Видимость2"
   End If
 Next
Exit Sub
err_ch:
Err.Clear
End Sub
Само собой, надо еще дописать проверок разных (на наличие в файле описания блока, на соответствие значений ComboBox1 и TextBox1 вариантам в динамических параметрах и т.д.), форму - если модальная - перед InsertPnt = ThisDrawing.Utility.GetPoint... скрывать, после вставки блока - возварщать. Вообще, имея базу данных на изделия и коллекцию блоков (динамических и прочих), можно с помощью VBA неплохих результатов добиться (от вставки в чертеж до автоматического оформления спецификаций).
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Автор темы   Непрочитано 24.04.2009, 09:16
#31
Сергей Дубина


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


Спасибо.
Сергей Дубина вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Динамические блоки > Динамический блок и коммандная строка



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать динамический блок из нескольких солид тел? Scrubber Динамические блоки 5 22.09.2010 22:29
Динамический блок с вложенным динамическим блоком? Sync02 Динамические блоки 17 18.05.2009 17:51
как с помощью vba начертить линию vasyavip Программирование 77 09.10.2008 23:17
Динамический блок сварного шва Vavan Metallist Динамические блоки 10 11.04.2008 18:42
Как добавить атрибуты в динамический блок? Archeo Динамические блоки 20 17.11.2006 11:30