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

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

Сброс координаты Z

Ответ
Поиск в этой теме
Непрочитано 25.10.2007, 21:24 #1
Сброс координаты Z
Jin X
 
Регистрация: 19.10.2007
Сообщений: 4

Привет!

Есть чертёж. Система координат - стандартная (2-мерная). Однако, некоторые элементы выполнены в 3D - это видно, когда я перевожу чертёж в изометрическую проекцию.

Итак, внимание вопрос! Как мне сбросить все Z-координаты в 0 ?
Т.е. сделать чертёж абсолютно плоским.
Просмотров: 40908
 
Непрочитано 25.10.2007, 21:33
#2
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Внимание, неадекватный ответ. Сбросить монитор на пол со страшной силой. Все координаты сбросятся.
Команда "_flatten" из "Express Tools".
Profan вне форума  
 
Непрочитано 25.10.2007, 23:06
#3
LeonidSN


 
Регистрация: 15.12.2006
USRAEL
Сообщений: 6


Цитата:
Сообщение от Jin X Посмотреть сообщение
Привет!

Есть чертёж. Система координат - стандартная (2-мерная). Однако, некоторые элементы выполнены в 3D - это видно, когда я перевожу чертёж в изометрическую проекцию.

Итак, внимание вопрос! Как мне сбросить все Z-координаты в 0 ?
Т.е. сделать чертёж абсолютно плоским.
Когда-то в молодости накатал такой вот код, опускает все объекты LINE на плоскость; впоследствие намеревался расширить ассортимент опускаемых элементов... Прошло время, забросил LISP но с удивлением обнаружил, что что этой скромной поделки в большинстве случаев хватает. Запускается, как вы поняли, командой: 2D.

Код:
[Выделить все]
(defun C:2D ( / en_dat en_set # z10 z11  en new_en_set ## a10 a11)
     (setq en_set (ssget "X" '((0 . "LINE"))))
     (setq # 0)
                        
              (repeat(sslength en_set)
                     (setq en (ssname en_set #))
                     (setq en_dat(entget en))
                     (setq z10(subst 0.0000 (car(reverse(assoc 10 en_dat)))(assoc 10 en_dat)))
                     (setq z11(subst 0.0000 (car(reverse(assoc 11 en_dat)))(assoc 11 en_dat)))
                     (setq en_dat(subst z10 (assoc 10 en_dat) en_dat))
                     (setq en_dat(subst z11 (assoc 11 en_dat) en_dat)) 	   
                     (entmod en_dat)
                     (setq #(+ 1 #))      
             );;repeat
        
      );;defun
P.s. Если лисповцы побьют меня ногами, не обижусь, но и пользоваться этой софтинкой не перестану.
LeonidSN вне форума  
 
Непрочитано 26.10.2007, 00:16
#4
Елпанов Евгений

программист
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,439
Отправить сообщение для Елпанов Евгений с помощью Skype™


Цитата:
Сообщение от LeonidSN Посмотреть сообщение
Если лисповцы побьют меня ногами, не обижусь, но и пользоваться этой софтинкой не перестану.
Что вы, как можно!
Я прекрасно понимаю вашу любовь к своему творчеству, но можно сделать побыстрее, покороче и универсальнее. Уже давно сделано...
Если интересно, покажу, а если нет, уважать ваш труд и любовь к своей программе не перестану!
Елпанов Евгений вне форума  
 
Непрочитано 26.10.2007, 00:26
#5
Кулик Алексей aka kpblc
Moderator

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


Конечно, интересно. Если там обрабатываются не только отрезки. Мне любопытно решение для окружностей, дуг и полилиний с дуговыми сегментами, расположенными в ОСК, не параллельной мировой по оси Z
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 26.10.2007, 06:19
#6
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Действительно интересно, если там можно обойтись без формата WMF.
Profan вне форума  
 
Непрочитано 26.10.2007, 07:16
#7
4атланин

Конструктор
 
Регистрация: 22.10.2007
Сообщений: 251


Есть еще способ, правда он работает не совсем так как хотелось бы:
Выделяешь нужные объекты и лезишь в свойства. Там меняешь координату Z на ноль.
Вот однако если весь чертеж выделить, то в свойствах координать нет вообще
4атланин вне форума  
 
Непрочитано 26.10.2007, 07:23
#8
Valery Brelovsky

Инженер дорожник
 
Регистрация: 22.10.2007
Израиль
Сообщений: 1,859


В 2000 пользовался использовал CHANGE, а теперь через свойства. Для CHANGE проблематично 3D полилинии с разными Z. Через свойства это всё решается.
Valery Brelovsky вне форума  
 
Непрочитано 26.10.2007, 08:10
#9
Кулик Алексей aka kpblc
Moderator

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


Не всегда. Если примитивы нарисованы в мировой системе координат (ну или в их системе координат ось oZ параллельная мировой), то тогда действительно, замена Z=0, как правило, решает проблему. В остальных случаях приходится извращаться.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 26.10.2007, 09:28
#10
Jоhnny

всё что связано с упорядоченным движением заряженных частиц
 
Регистрация: 27.07.2007
М.О.
Сообщений: 1,693


Цитата:
Сообщение от 4атланин Посмотреть сообщение
Есть еще способ, правда он работает не совсем так как хотелось бы:
Выделяешь нужные объекты и лезишь в свойства. Там меняешь координату Z на ноль.
Вот однако если весь чертеж выделить, то в свойствах координать нет вообще
Насколько мне известно, такая вещь прокатывает только с полилиниями, выставляется значение Elevation , а когда ты весь чертёж выделял туда могли попасть и другие примитивы.
Jоhnny вне форума  
 
Непрочитано 26.10.2007, 09:31
#11
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Elevation (Уровень) - это нечто другое, нежели координата Z объекта.
Profan вне форума  
 
Непрочитано 26.10.2007, 09:31
#12
Кулик Алексей aka kpblc
Moderator

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


Фи-гуш-ки!
Запускайте код
Код:
[Выделить все]
(entmakex '((0 . "LWPOLYLINE")
            (100 . "AcDbEntity")
            (67 . 0)
            (100 . "AcDbPolyline")
            (90 . 10)
            (70 . 1)
            (43 . 0.0)
            (38 . -119161.0)
            (39 . 0.0)
            (10 -47690.4 -97342.1)
            (40 . 0.0)
            (41 . 0.0)
            (42 . 0.0)
            (10 93270.9 13182.3)
            (40 . 0.0)
            (41 . 0.0)
            (42 . 0.0)
            (10 89815.2 147937.0)
            (40 . 0.0)
            (41 . 0.0)
            (42 . 0.0)
            (10 39200.8 60270.1)
            (40 . 0.0)
            (41 . 0.0)
            (42 . 0.0)
            (10 28600.0 234973.0)
            (40 . 0.0)
            (41 . 0.0)
            (42 . 0.0)
            (10 -10264.8 99642.3)
            (40 . 0.0)
            (41 . 0.0)
            (42 . 0.0)
            (10 -106740.0 229475.0)
            (40 . 0.0)
            (41 . 0.0)
            (42 . 0.0)
            (10 -144235.0 81150.8)
            (40 . 0.0)
            (41 . 0.0)
            (42 . 0.0)
            (10 -246826.0 174788.0)
            (40 . 0.0)
            (41 . 0.0)
            (42 . 0.0)
            (10 -218273.0 32333.5)
            (40 . 0.0)
            (41 . 0.0)
            (42 . 0.0)
            (210 0.774446 0.0 -0.63264)
            )
          ) ;_ end of entmakex
И пытайтесь "сплющить". Это еще тут нет дуговых сегментов...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 26.10.2007, 09:34
#13
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Цитата:
Фи-гуш-ки!
Это про что?
Profan вне форума  
 
Непрочитано 26.10.2007, 09:35
#14
v_alex


 
Регистрация: 24.10.2005
Новокузнецк
Сообщений: 1,124
<phrase 1=


а точки привязки размеров можно переместить в координату 0? также интересуют объекты SPDS можно так же обнулить? а то было пару чертежиков... заново проставлял все размеры и спдсовские объекты...
v_alex вне форума  
 
Непрочитано 26.10.2007, 09:38
#15
Кулик Алексей aka kpblc
Moderator

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


> Profan : Это адресовалось Johnny. Сорри.
---
Добавлено:
> v_alex : Для обработки размеров надо менять в них группы DXF 10-15, кажется. Для объектов СПДС - зависит от версии и наличия самой SPDS-ки (Object Enabler спасал не всегда).
Поправочка: лично я такого еще никогда не делал и не представляю, как все это менять.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 26.10.2007, 09:45
#16
v_alex


 
Регистрация: 24.10.2005
Новокузнецк
Сообщений: 1,124
<phrase 1=


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
лично я такого еще никогда не делал и не представляю, как все это менять.
слава богу чертежики были небольшие и по слоям было все нарисовано... а если бы все было в одном слое... то конечно самоубийственно заменить все объекты... к тому же чертеж мой был... просто когда от архитекторов чертеж получил, то непосмотрел что линии и объекты скачут по координате Z... сверху то все нормально смотрится... а заметил когда применял команды offset и линия ускакивала неизвестно куда, либо цепочка размеров глючила и упорно нехотела замыкаться... с полилиниями проблемы были... в общем я быстренько сделал flatten и перебил выноски с размерами...
v_alex вне форума  
 
Непрочитано 26.10.2007, 10:06
#17
Кулик Алексей aka kpblc
Moderator

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


flatten грешит не всегда правильной работой с вылетами и невосстановлением некоторых системных переменных, насколько я помню.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 26.10.2007, 10:17
#18
Jоhnny

всё что связано с упорядоченным движением заряженных частиц
 
Регистрация: 27.07.2007
М.О.
Сообщений: 1,693


на счёт фи-гу-шки не понял :\ а про элев не знаю что это такое просто видел где-то на форуме тему, что-то типа "как всё обнулить" и решил сюда отписаться, думаю хуже не станет, или это вообще принципиально разные вещи?
Jоhnny вне форума  
 
Непрочитано 26.10.2007, 11:25
#19
v_alex


 
Регистрация: 24.10.2005
Новокузнецк
Сообщений: 1,124
<phrase 1=


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
flatten грешит не всегда правильной работой с вылетами и невосстановлением некоторых системных переменных, насколько я помню.
может быть... глубоко копать мне некогда... что флаттен неподправил - пришлось ручками довести до ума... главное РЕЗУЛЬТАТ меня устроил...
v_alex вне форума  
 
Непрочитано 26.10.2007, 11:30
#20
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Про Z из Download'a
http://dwg.ru/dnl/25
http://dwg.ru/dnl/296
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Сброс координаты Z

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как с заданным шагом снять координаты с полилиний в файл? griniland Программирование 8 22.01.2016 11:14
Как перевести координаты Модели в координаты Листа? ===AAA=== Программирование 6 24.10.2007 22:09
Где хранятся координаты полки выноски ОТНОСИТЕЛЬНО ТЕКСТА? kp+ Программирование 2 31.07.2006 09:55
Как пересчитать координаты полилинии выбранной nentsel в МСК kp+ Программирование 1 29.07.2005 20:49
Заводы мостовых ЖБК. Нужны координаты. Admin Автомобильные и железные дороги, мосты, тоннели и организация движения 5 24.11.2003 08:46