| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
19.12.2005, 09:19 | #1 | |
Можно-ли "Взорвать линию"?
Николаев
Регистрация: 01.12.2005
Сообщений: 76
|
||
Просмотров: 19743
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,833
|
Нереал - если сделано именно типом линии.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,833
|
> Apelsinov : Если четко знаешь имя shape, то можно (кстати, не знал, спасибо). А если нет, то придется писать лисп для вставки shape и последующей конвертации их.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Взять идею Apelsinov и комманду из Exprerss'a Explode text. Сам текст команды (txtexp.lsp в папке Express) на лиспе. Если отбросить все проверки, то получится
Код:
1. Зеркалим линию по вертикали 2. К полученной зеркальной копии творим "_.WMFOUT" 3. "_.WMFIN" (правда у меня размеры немного отличаются, но думаю это можно поправить масштабом. Думаю именно этим и занимается acet-wmfin ) 4. Втавленный блок зеркалим обратно по вертикали 5. Взрываем. |
||||
|
||||
Регистрация: 10.01.2005
Москва
Сообщений: 89
|
Все понятно!! Но зачем зеркалить???? Не понял.... Два раза сделал WMFOUT-WMFIN с зеркалом и без - однохренственно!!!
Кстати, оффтопик сорри, вместо wmfout лучше использовать BetterWMF http://www.furix.com/ Не реклама, просто прога хорошая.. |
|||
|
||||
Возникла необходимость преобразовать dwg в dmf (это формат программы Digitals). Ничего путного по поводу конвертирования не нашел (наверное потому что Digitals вроде как понимает dwg). Решал как-то аналогичную задачу для Компаса - там это реализовано наподобие команды laytrans, т.е. можно задавать типу линии dwg тип линии в компасе. Т.е. задача свелась к созданию всех используемых типов линиий в компасе и создание шаблона соответствий. В Digitals такого инструмента нет, поэтому возникла задача перевести все "сложное" в автокаде в простое. Грубо говоря взорвать все. Со сложными типами линий сразу же возник затык. Нашел готовое решение
Код:
Может кто подправить программу чтобы она работала как надо? |
||||
|
||||
В тексте программы этот пункт присутствует.
Логика подсказывает что для линий без текста, но у которых shape имеет ориентацию нужно перед выполнением экспорта/импорта выполнять реверс линии. Линиям с текстом это не помогает. У образовавшихся в результате действия программы текстовых элементов в свойства параметр "Слева направо" стоит в "Да", видимо это как раз следствие действия команды _mirror. Чтобы вернуть тексту нормальный вид нужно отзеркаливание повторить для каждого текстового элемента в отдельности. Центром отзеркаливания д.б. центр текста (а не точка вставки). Как бы это программно реализовать? |
||||
|
||||
Пастух Регистрация: 16.07.2012
Питер
Сообщений: 318
|
Попробуйте перед выполнением программы изменить переменную MIRRTEXT на 0
__________________
Автоматизация должна быть автоматической. |
|||
|
||||
А эта из какой программы команда? В 2007 такой нет. Пользуюсь командой из набора Pl-tools.
p.s. Вобщем _.WMFOUT и _.WMFIN решили поставленную задачу. Правда после импорта shape который был квадратным стал кривоугольным, но с этим как-нибудь можно бороться. Главное что текст выглядит нормально. Последний раз редактировалось off, 25.10.2013 в 10:28. |
||||
|
||||
Как оказалось не только реверс. Еще и mirrtext'ом нужно поиграться
В общем кое-что состряпал. Тестируйте Код:
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 25.10.2013 в 17:31. Причина: ACET-SS-ZOOM-EXTENTS*SS->ACET-SS-ZOOM-EXTENTS SS |
||||
|
||||
Цитата:
Что такое Express Tools, для чего нужен, как доставить читай в соответствующей теме Express Tools PS Там была ошибка в логике. Обновил снова PPS Опубликовал на cadtutore http://www.cadtutor.net/forum/showth...uot-lisp/page3
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 25.10.2013 в 16:23. |
||||
|
||||
Там в строчку (ACET-SS-ZOOM-EXTENTS*SS) закралась звездочка. Без нее сработало.
Если сильно не придираться то сойдет, по крайней мере меня устраивает результат. Если же подходить строго, то можно отметить что штрихи на наклонных линиях смотрят "не туда", т.е. их еще раз надо отзеркалить. Текст выглядит нормально, но буквы во-первых стоят не на тех местах где были (результат выполнения реверса) и ориентация буков на вертикальных участках линии наоборот. Последний раз редактировалось off, 25.10.2013 в 16:57. |
||||