|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Здравствуйте.
Хочу немного вернуть вас с высших материй и спросить что попроще ![]() Сделал блок, не могу решить пару проблем. 1. Есть два параметра отражения - вертикальное и горизонтальное. Почему-то отражается все, кроме ручек отражения. Объясните в чем причина? Я уже и ось отражения добавлял отдельно и ручку отражения отдельно и все вместе! Бесполезно! 2. В выложенном примере в параметре "строка2" записано: "Н12". Если теперь нажать на стрелочку вертикального отражения, все отразится нормально. Но если теперь в "Н12" дописать "34", чтобы получилось "Н1234", то во-первых строка эта уже будет стоять в блоке криво, а во-вторых при обратном вертикальном отражении тоже встанет криво. Криво имеется ввиду не на месте. (в сравнении со строкой "Н"). Можно ли как-то сделать чтобы можно было блок редактировать в при любом состоянии и строки бы выравнивались? И сразу еще один вопрос. Как можно использовать программу, написанную Supermax'ом по перестановке свойств динамического блока? |
|||
![]() |
|
||||
После правки значений атрибута делай attsync в ком. строке и все становится на место. Можешь на кнопку эту команду вывести.
А программу по перестановке имен свойств применяют там, где они есть. Вот к примеру в твоем блоке углы можно вместе отражать, а не сначала угол, затем длина1, затем угол1 и вообще, там где свойствами надо не только динамику обеспечить, а еще и параметры изделия определить (это когда динамическим блоком 3D графику оформляют). Там надо чтобы все свойства были строго в определенной последовательность отображены, а не как бог на голову пошлет. |
||||
![]() |
|
||||
Volodich,
http://dwg.ru/f/showpost.php?p=280530&postcount=4 Посмотри - много полезного. 1. Сделал заново - все работает 2. Сделай Move action и прицепи к нему свой атрибут
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) |
||||
![]() |
|
||||
проектировщик-электрик Регистрация: 20.12.2007
Челябинск
Сообщений: 475
|
Supermax, Спасибо за совет с attsync. Действительно срабатывает! Подскажи, пожалуйста, какой должен быть макрос кнопки, чтобы нажал ее, блок выбрал и все ? (я не знаю как в макросе <enter> обозначается).
Про свойства я понял, что еще пока не дорос до таких блоков, где нужно вручную свойства устанавливать ![]() wetr, Спасибо за переделку блока! Но в чем причина-то была? Я тоже несколько раз заново этот параметр отражения добавлял... Может быть от того что у меня автокад русский и нелицензионный и глючит? |
|||
![]() |
|
||||
Shoorup, а собственно что ты перемещаешь? Я вижу у тебя в сообщении текст DCL файла и все. Я вполне допускаю, что мог прозевать какое-нибудь свойство или обсоятельство, но ты сначала по русски объясни когда выскакивает эта надпись. У меня все работает, да и другие не жалуются.
Может ты примерчик скинешь? |
||||
![]() |
|
||||
Мне неловко, но застрял на чисто детском вопросе
![]() Делаю прогу исключительно работающую в пространсве редактора блоков (если его так можно назвать). Список всех существующих параметров видимости - пожалуйста, а как узнать где я нахожусь в данный момент - дудки. Также пока не выяснил как узнать из пространства редактора блоков, какой собственно блок в него в данный момент загружен. Мне надо это все получать в виде данных для лиспа. На экране я и так все вижу. Например, команда _-BVSTATE сначала выдает сообщение о текущем параметре видимости - Current visibility state: GX-26_P Стандарт 0.4 а уж затем предлагает ввести ключ и новое значение параметра Enter an option [New/Set/Delete] <New>: _s Enter visibility state name to make current or [?]: GX-26_P Стандарт 0.5 Где оно его берет, это текущее значение? Я сделал специальный лисп, который создает Dump файл всех значений системных переменных, во всяком случае тех, которые описаны в хелпе и даже некоторых, там не описанных. И второй лисп, который читает этот Dump и сравнивает текущее значение с тем, которое в Dump-е записано. Результат неравенства выводится на экран в виде имен системных переменных и их значений. Выводятся только те системные переменные, которые не совпадают по значению с данными из Dump-a. Но там нет указателей ни по номеру, ни по имени на текущее значение параметра видимости. Есть толькоодна надежда, на то, что я не все системные переменные вставил в список. Кому надо, могу дать эти лиспы. А прога, которую я пишу позволяет выделив группу элементов прописывать им видимость сразу в целой группе параметров видимости, выделяя их в списке через Ctrl или Shift. Есть возможность как добавлять к существующим параметрам видимости, так и определять видимоть для этой группы исключительно в выделенных Visibility state-ах. Также и на удаление выбранной группы из группы выделенных Visibility state-ов. Также кнопки "Показать везде" и "Скрыть везде". И все написал, а по окончании вернуться в исходный параметр видимости не могу, поскольку не знаю как прочесть текущее значение этой триклятой видимости. Если не найду ответ, так и оставлю. Ручками будете возвращаться в то состояние видимости, откуда была запущена прога. |
||||
![]() |
|
||||
Makswell, (getvar "BLOCKEDITOR") показывает что ты находишся в редакторе, но где конкретно не известно. Я ж по русски написал, нужно определить в каком из вариантов параметров видимости я нахожусь. Заодно и имя блока не плохо было бы узнать.
Есть совсем дурацкий способ это узнать. 1. Нарисовать программно точку. 2. Открыть ее и "слизать" ее -1 код 3. В ней же открыть цепочку словарей от 330 до словаря Visibility и найти в нем этот -1 код. Там их два. Один в списке всех элементов находящихся в блоке и в списке с той видимостью, в которой мы ее поставили. 4. Во втором вхождении этого кода подняться по списку вверх до кода 303 и прочесть его значение. Это и будет текущее значение данной видимости. 5. Удалить эту точку. |
||||
![]() |
|
||||
Инженер-строитель Регистрация: 15.08.2007
Киров
Сообщений: 2,204
|
Извини, не внимательно прочитал.
Кстати (так, в порядке бреда) если посмотреть на коды полей, которые могут использоваться только в редакторе блока и только в атрибутах (т.н. местозаполнители блока), то они в итоге такие: Имя блока Код:
Код:
Что-то в этих кодах сильно напоминает актив-иксовое. Хотя, как я уже написал выше, скорее всего это бред, просто пока никаких мыслей в голову не пришло. Но вдруг это тебя на что-нибудь натолкнет... |
|||
![]() |
|
||||
Пока Shoorup, я делаю то, что мне давит на больной мазоль. Но скоро будет и видимость в ассортименте, а пока новая прога по массовому занесению выбранных элементов в набор Visibility state.
Когда блок сложный, где элементы громоздятся на элементах, а представлений видимости не одно и даже не десять очень муторно (очень - это очень мягко сказано) переключаться на каждый из них и выделять в этом "стогу соломы" несколько соломинок которые должны быть видимы в некоторых (скажем в половине существующих) представлениях. В окне со списком всех Visibility state вы можете через Ctrl или Shift выделить группу представлений видимости и одним нажатием кнопки прописать выбранным вами до этого элементам видимость в них. Удачи! Не забывайте про наличие в корне С папки TMP латинскими буквами. |
||||
![]() |