|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
26.03.2005, 18:17 | #1 | |
Lisp'ик-2 бы...
Engineer
New-York
Регистрация: 05.09.2003
Сообщений: 10,288
|
||
Просмотров: 5508
|
|
||||
Инженер по системам безопасности Регистрация: 23.11.2003
Рига
Сообщений: 1,099
|
Vova привет. Попробуй, програмка устанавливает вектор нормали всех размеров в (0.0 0.0 1.0), т. е. так как будто они начерчены в при "обычном" положении осей. Если это прокатывает, то возможны вариации на тему "нормального" вида размеров в любых видах.
Код:
|
|||
|
||||
Инженер по системам безопасности Регистрация: 23.11.2003
Рига
Сообщений: 1,099
|
Вот усовешенствованный вариант. У прошлого были проблеммы с диаметрами, радиусами и угловыми размерами. К сожалению проблемма с угловыми размерами осталась- после обработки, они показывают внешний угол вместо внутреннего, однако привязки остаются и можно просто потянуть мышкой. Добавлены Text и MText для выносок.
Код:
|
|||
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
Fantomas и тем, программерам, кто попробует решить проблему> После команды Plan вертикальные размеры приобретают статус Rotated Dimensions, может быть поэтому они не поддаются изменению? Я пробовал вводить прогу Fantomas до вставки, после, в файле с которого размер копируется, в файле-приемнике, но все остается как было. Прикрепил для пробы файлик Drawing1. Здесь текущая UCS, по которой сделан Plan, названа 1. Сделайте файлу Saveas как Drawing2 и попробуйте перенести туда нарисованное. Увидите, что вертикальный (на экране) размер вывернется. Надо его без перерисовки вернуть назад.
[ATTACH]1111934077.dwg[/ATTACH] |
|||
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
У меня есть лисп, который переворачивает вертикальные размеры головой наоборот при Ucs World. K сожалению, файл зашифрован, но он работает от команды FD. Такой путь, если бы лисп работал в моем случае, меня бы устроил
Код:
|
|||
|
||||
Инженер по системам безопасности Регистрация: 23.11.2003
Рига
Сообщений: 1,099
|
С лиспом сложновато... Делов том что свойства размеров Rotation и TextRotation всегда после создания имеют значение 0 в независимости от угла разворота рамера. Тут чистейший "глюк". Но я нашел способ :!: Скопируйте все в третий файл и все надписи развернутся как надо
|
|||
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
У меня большой файл, как первый, из которого беру копию некоторых объектов с размерами, так и второй, куда копию кладу. В обоих UCS не мировая и одинаковая и оба развернуты командой Plan одинаково. Ты предлагаешь это делать через промежуточный файл? Попробовал, не помогает. Кстати, Properties всегда показывает статус линейных размеров, что они Rorated, даже при норм. UCS.
|
|||
|
||||
webcad.pro Регистрация: 06.01.2005
Московская обл.
Сообщений: 501
|
Если я правильно понял проблему то может помочь такой код:
Код:
|
|||
|
||||
Инженер по системам безопасности Регистрация: 23.11.2003
Рига
Сообщений: 1,099
|
А у меня получается(см. файл). Сначала делаю как вы сказали, потом файл с "неправильным" размером копирую в третий и тогда рамеры разворачиваются как надо.
Цитата:
[ATTACH]1111945095.dwg[/ATTACH] |
|||
|
||||
webcad.pro Регистрация: 06.01.2005
Московская обл.
Сообщений: 501
|
>Fantomas
Кажется всетаки не тоже самое. Насколько я понимаю vla-put-TextRotation меняет 53-й код, а я менял 51-й "The optional group code 53 is the rotation angle of the dimension text away from its default orientation (the direction of the dimension line) (optional) All dimension types have an optional 51 group code, which indicates the horizontal direction for the dimension entity. The dimension entity determines the orientation of dimension text and lines for horizontal, vertical, and rotated linear dimensions This group value is the negative of the angle between the OCS X axis and the UCS X axis. It is always in the XY plane of the OCS " Однако какое свойство меняет 51-й код при беглом просмотре я не нашел. Подправил свой код, добвив дополнительную проверку. |
|||
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
Программа АУ работает как надо. Огромное спасибо. Я переделал здесь только угол по умолчанию вместо 0 теперь 180. Fantomas, через третий файл обкатаю завтра на работе, но дело в том, что проводить такую работу надо one by one, один размер за другим. Потому-что в насыщенном черт. при перевороте размеров одним махом не глядя их текст наедет на соседей. Вот бы присоединить прогу АУ с копированием через Clipboard или wblock, чтобы надо было не чинить, а сразу получать правильный результат. То есть чтобы размеры в файле-приемнике сразу ложились правильно.
|
|||
|
||||
Инженер по системам безопасности Регистрация: 23.11.2003
Рига
Сообщений: 1,099
|
>AY Я нашел, это просто Rotation, и результат сразу получился как у тебя.
Цитата:
|
|||
|
||||
Регистрация: 11.10.2004
e•burg
Сообщений: 755
|
2 AY
Рекомендации: - или добавить в код запрет выбора на блокированых слоях: Код:
- если предполагается запрос угла у пользователя, то желательно предложить дефолтное значение, которое можно получить, как в коде ниже. 2 Fantomas Кроме того, что TextRotation, это - не поворот размера (с этим вроде сам разобрался), так ещё и угол достаточно странный (исходя из заявленной проблемы). Ниже пример целиком на ActiveX (блокировки слоёв игнорируются, угол определяется по текущему состоянию UCS, только для 2D): Код:
|
|||
|
||||
webcad.pro Регистрация: 06.01.2005
Московская обл.
Сообщений: 501
|
Цитата:
Цитата:
|
|||
|
||||
Регистрация: 11.10.2004
e•burg
Сообщений: 755
|
Цитата:
Цитата:
Код:
|
|||
|
||||
Инженер по системам безопасности Регистрация: 23.11.2003
Рига
Сообщений: 1,099
|
>Alasper
Спасибо за хороший пример. Однако, все что мы делали (или пытались как я) это устранение последствий проблеммы а не её решение. Проблемма же состоит в том что в данном случае "криво" работает копирование. Попробуйте скопировать через буфер размер в первом файле- надписи опять разверутся. Я вчера внимательно рабирался с этим, суть в том что при построении размера группа 51 или свойство Rotation принимает значение угла с осью X в WCS а при копировании принимает значение 0.0. Кстати "растаскивание" через Shift работает нормально. Может какая нибудь системная переменная влияет на это или существует способ разверуть вид не привязывая его к UCS? |
|||
|
||||
Программист Регистрация: 08.06.2005
Сообщений: 2
|
Была у меня програмка написанная на LISP. Работала она так:
1) Запуск программы. 2) Отмечаете несколько текстов. 3) Пишете как хотите выровнять тескты (по вертикали или горизонтали). 4) Отмечали точку относительно которой хотели выровнять тексты. 5) Enter. 6) Все обозначенные тексты сдвигались так, чтобы начало текста становилось на линию условно проведенную через точку, которую обозначили в п.4. Т.к. несколько лет не занимался Автокадом, - эта програмка потерялась. Может быть у кого-нибудь есть что-либо подобное. Напишите пожалуйста код.
__________________
Рождённый толстым, - худеть не может!!! |
|||
|
||||
Программист Регистрация: 08.06.2005
Сообщений: 2
|
Цитата:
__________________
Рождённый толстым, - худеть не может!!! |
|||