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

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

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

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

Можно ли используя исключительно коммандную строку создать динамический блок с параметрами видимости, отражения, атрибутами и прочими наворотами.
Если можно дайте конкретный пример.
Просмотров: 6594
 
Непрочитано 21.04.2009, 13:47
#2
Pum-purum

PHP-разработчик
 
Регистрация: 12.05.2008
Ижевск
Сообщений: 1,166


Зачем же так извращаться?
Pum-purum вне форума  
 
Автор темы   Непрочитано 21.04.2009, 13:57
#3
Сергей Дубина


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


Вам, студентам этого не понять.
Сергей Дубина вне форума  
 
Непрочитано 21.04.2009, 16:19
#4
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Можно еще и сидеть головой на стуле
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 21.04.2009, 16:44
#5
AlphaGeo


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


Сергей Дубина, по-моему, проще сделать макрос (читай, "через командную строку") для вставки заранее заготовленного дин.блока...
 
 
Автор темы   Непрочитано 21.04.2009, 16:49
#6
Сергей Дубина


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


Цитата:
Сообщение от Shoorup Посмотреть сообщение
Можно еще и сидеть головой на стуле
Не знаешь, так и ответь - "не знаю" или помалкивай. Умников много развелось только среди них умных маловато.
Мне необходимо создавать блоки именно таким образом. В справочной системе Акада про енто ничего не написано.
Сергей Дубина вне форума  
 
Непрочитано 21.04.2009, 18:56
#7
Кулик Алексей aka kpblc
Moderator

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


Считай, что нереально.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 22.04.2009, 03:47
#8
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,537
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Цитата:
Мне необходимо создавать блоки именно таким образом
Изложи общую задачу - авось что другое подскажут.
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Автор темы   Непрочитано 22.04.2009, 08:56
#9
Сергей Дубина


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



Разобрался сам. Делаю по полторы тыщи блоков за двадцать минут.
Сергей Дубина вне форума  
 
Непрочитано 22.04.2009, 09:11
#10
skif58

Наше дело труба
 
Регистрация: 19.11.2006
Томск_Комсомольск-на-Амуре
Сообщений: 1,736
<phrase 1= Отправить сообщение для skif58 с помощью Yahoo Отправить сообщение для skif58 с помощью Skype™


Offtop: Это уже почти кирпичный завод!
__________________
*...И Случай, бог изобретатель. *
skif58 вне форума  
 
Непрочитано 22.04.2009, 09:14
#11
Солидворкер
Moderator

Конструктор (машиностроение)
 
Регистрация: 23.10.2006
Россия
Сообщений: 23,297
<phrase 1=


Цитата:
Сообщение от Сергей Дубина Посмотреть сообщение
Делаю по полторы тыщи блоков за двадцать минут.
Эта фраза сразу вызывает подозрения, что ты что-то неправильно делаешь
Солидворкер вне форума  
 
Непрочитано 22.04.2009, 09:18
#12
Pum-purum

PHP-разработчик
 
Регистрация: 12.05.2008
Ижевск
Сообщений: 1,166


даже "копировать-вставить" с такой скоростью не получится
Pum-purum вне форума  
 
Непрочитано 22.04.2009, 09:22
#13
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,373


здесь "создать", может быть, имеется ввиду "вставить" ?
скажем, отметку точки или сваи.
Хмурый вне форума  
 
Непрочитано 22.04.2009, 10:07
#14
zenon

Остекляем!!! Алюминим!!!
 
Регистрация: 21.02.2005
Москва
Сообщений: 3,925
<phrase 1=


думаю товарищ Сергей Дубина, создает программными методами динамические блоки
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума  
 
Автор темы   Непрочитано 22.04.2009, 11:35
#15
Сергей Дубина


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


Цитата:
Сообщение от zenon Посмотреть сообщение
думаю товарищ Сергей Дубина, создает программными методами динамические блоки
Совершенно верно.
Сергей Дубина вне форума  
 
Непрочитано 22.04.2009, 14:29
#16
Krieger

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


Динблоки вообщето именно для этого и сделали, чтобы не создавать полторы тысячи блоков...
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 22.04.2009, 14:33
#17
AlphaGeo


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


Сергей Дубина разработал новую программную оболочку Редактора блоков? А демо-версию посмотреть можно?
 
 
Автор темы   Непрочитано 22.04.2009, 14:47
#18
Сергей Дубина


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


Цитата:
Сообщение от Krieger Посмотреть сообщение
Динблоки вообщето именно для этого и сделали, чтобы не создавать полторы тысячи блоков...
Количество я немного преувеличил (на порядок), так раньше за один раз я "выдавал" 130 "статических" блоков, теперича всего один динамический. Выразился неправильно.
Сергей Дубина вне форума  
 
Непрочитано 22.04.2009, 15:09
#19
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,537
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Тогда зачем 1 динамический создавать программно? Много времени?
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 22.04.2009, 15:24
#20
AlexV

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


Offtop: Может, ввели новую систему оплаты труда? Сдельная поблочная?
Хорошо бы звучал рекламный слоган "Создай десять тысяч блоков и получи бесплатный билет в кинотеатр! За каждый стотысячный блок - попкорн и пиво!"
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Автор темы   Непрочитано 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,706


К примеру, в файле чертежа имеем описание динамического блока "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