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

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

Кооордината Z

Ответ
Поиск в этой теме
Непрочитано 18.09.2006, 13:11 #1
Кооордината Z
Dim@
 
Инженер GS
 
Москва
Регистрация: 01.08.2006
Сообщений: 81

Всем привет!
Есть проблема, во всех файлах чертежей 2D присутствует значение координаты Z. т.е. не нулевое. См. скриншот. Подскажите как от неё избавиться, чтобы мозг не парила.
[ATTACH]1158570646.jpg[/ATTACH]
Просмотров: 3580
 
Непрочитано 18.09.2006, 13:14
#2
Кулик Алексей aka kpblc
Moderator

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


flatten из Express tools, наверное...
Но только если абсолютно уверен в том, что вертиальная разноска объектов дальше не понадобится
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 18.09.2006, 13:18
#3
Dim@

Инженер GS
 
Регистрация: 01.08.2006
Москва
Сообщений: 81
<phrase 1=


Крыс, а это что за команда, и что делать если в дальнейшем всё же понадобиться разноска по вертикали?
Dim@ вне форума  
 
Непрочитано 18.09.2006, 13:28
#4
Кулик Алексей aka kpblc
Moderator

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


Ну... Эта команда входит в комплект Express Tools, как по меню ее вызывать - Express -> Modify -> Flatten objects. Если все же понадобится разноска по вертикали, я б работал через лист и видовой экран. Там-то уж точно все плоское
Другой момент - это измерение расстояний. В пространстве листа (да и в "расплющенном" виде тоже) измерение будет идти только по "горизонту", не учитывая изменение высоты.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 18.09.2006, 13:36
#5
Dim@

Инженер GS
 
Регистрация: 01.08.2006
Москва
Сообщений: 81
<phrase 1=


А не знаешь почему такое могло произойти? раньше было всё ОК!
А теперь при черчении обычной линии появляется эта несчастная координата Z.
Dim@ вне форума  
 
Непрочитано 18.09.2006, 13:43
#6
Хмурый


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


Чертите полилиниями
команда _pline
Хмурый вне форума  
 
Непрочитано 18.09.2006, 13:45
#7
Кулик Алексей aka kpblc
Moderator

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


Поменять можно также системную переменную elevation в 0
---
Добавлено:
Такое появляется именно из-за того, что точки, к которым выполняется привязка, имеют разную z
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 18.09.2006, 14:28
#8
Dim@

Инженер GS
 
Регистрация: 01.08.2006
Москва
Сообщений: 81
<phrase 1=


Огромное спасибо!!!!!!!!!!!!!!!!!!
Dim@ вне форума  
 
Непрочитано 18.09.2006, 14:30
#9
asys

архитектор
 
Регистрация: 10.08.2005
Ростов-на-Дону
Сообщений: 5,342


флаттен не всегда дает качественный результат. Если у тебя только линии - выдели их все и руками вбей "0" во все значения Z
asys вне форума  
 
Автор темы   Непрочитано 18.09.2006, 14:33
#10
Dim@

Инженер GS
 
Регистрация: 01.08.2006
Москва
Сообщений: 81
<phrase 1=


Понимаешь, Asys, в чем дело, если изменить ручками значение координат, всё равно когда начинаешь рисовать новую линию, опять появляется ненулевое значение Z.
Dim@ вне форума  
 
Непрочитано 18.09.2006, 14:42
#11
asys

архитектор
 
Регистрация: 10.08.2005
Ростов-на-Дону
Сообщений: 5,342


Цитата:
Сообщение от Dim@
Понимаешь, Asys, в чем дело, если изменить ручками значение координат, всё равно когда начинаешь рисовать новую линию, опять появляется ненулевое значение Z.
А ты сначала выставь систему координат в мировую
Цитата:
Command: ucs
Current ucs name: *WORLD*
Specify origin of UCS or [Face/NAmed/OBject/Previous/View/World/X/Y/Z/ZAxis] <World>:
а потом обнуляй значения, да позже следи за тем чтоб система координат в которой ты рисуешь именно world и была
asys вне форума  
 
Непрочитано 18.09.2006, 14:44
#12
Кулик Алексей aka kpblc
Moderator

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


flatten выдает некачественный результат при использовании опции "скрывать линии". Тогда он работает через wmf-файлы - медленно и криво. Если опцию не ставить, то все более-менее получается. А для ненулевого значения Z - проверь все же Elevation. Чего там значится?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 18.09.2006, 14:45
#13
Dim@

Инженер GS
 
Регистрация: 01.08.2006
Москва
Сообщений: 81
<phrase 1=


В Elevation стоит 0.
Dim@ вне форума  
 
Непрочитано 18.09.2006, 14:56
#14
_Andre_

механизатор
 
Регистрация: 28.12.2004
Самара
Сообщений: 312
<phrase 1=


а меня в случае когда нужно "сгладить" такой лохматый чертеж по прежнему выручает макрос:
Код:
[Выделить все]
^C^C_-view;_top;_ucs;_w;_.change;_all;;_p;_e;0.0;_t;0.0;;_move;_all;;0,0,0;0,0,1e99;_move;_p;;0,0,0;0,0,-1e99;
Кстати заодно и систему координат устанавливает в World.
_Andre_ вне форума  
 
Непрочитано 18.09.2006, 14:56
#15
Кулик Алексей aka kpblc
Moderator

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


Гадать можно до бесконечности. Приложи кусок файла, поковыряем
---
Добавлено:
> ASYS : код будет работать только в том случае, если в чертеже нет lwpolyline с немировой системой координат.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 18.09.2006, 15:14
#16
Dim@

Инженер GS
 
Регистрация: 01.08.2006
Москва
Сообщений: 81
<phrase 1=


Вот файлик!!!!
[ATTACH]1158578061.dwg[/ATTACH]
Dim@ вне форума  
 
Непрочитано 18.09.2006, 15:36
#17
Кулик Алексей aka kpblc
Moderator

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


Я не очень понял, где у тебя рисуется "не то". Я на пустом месте сделал - все ок. А менять высоты отрезков я б не стал - судя по всему, они там привязаны к верхнему или нижнему обрезу (не знаю как называется по правильному - в общем, тому, что нарисовано зелеными полилиниями)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 18.09.2006, 15:45
#18
Dim@

Инженер GS
 
Регистрация: 01.08.2006
Москва
Сообщений: 81
<phrase 1=


Да, вроде новые линии чертит без проблем, но как только архитекторы начинают чтото чертить в файле начинается эта фигня.
Dim@ вне форума  
 
Непрочитано 22.09.2006, 11:54
#19
lyv


 
Регистрация: 13.04.2005
Сообщений: 6
<phrase 1=


Не мое... Добрый человек поделился. Лисп, обнуляющий z-координату всех примитивов:


Код:
[Выделить все]
(defun C:zto0 ()
 (setq i 0)
 (setq ename (entnext))
 (while (/= ename nil) 
 (princ "Objects complete:") (princ i) (princ "\r")
 (setq a1 (entget ename))
 (setq obj (cdr (assoc 0 a1)))
 (setq gh "LWPOLYLINE")
 (if (/= obj gh) THEN
	(PROGN 
	 (setq art (assoc 38 a1))
	 (setq a10 '(38 . 0.0))
	 (setq a1 (subst a10 art a1))
	 
	(entmod a1)
 	(entupd ename)
	)
 )
(setq obj (cdr (assoc 0 a1)))
 (setq gh "SPLINE")
 (if (/= obj gh) THEN (spl))
 (setq a10 (assoc 10 a1))
 (if (/= a10 nil) (progn (setq a11 (list (nth 0 a10) (nth 1 a10) (nth 2 a10) 0))
 (setq a1 (subst a11 a10 a1))
 (entmod a1)
 (entupd ename)))
 (setq a10 (assoc 11 a1))
 (if (/= a10 nil) (progn (setq a11 (list (nth 0 a10) (nth 1 a10) (nth 2 a10) 0))
 (setq a1 (subst a11 a10 a1))
 (entmod a1)
 (entupd ename)))
(setq a10 (assoc 12 a1))
 (if (/= a10 nil) (progn (setq a11 (list (nth 0 a10) (nth 1 a10) (nth 2 a10) 0))
 (setq a1 (subst a11 a10 a1))
 (entmod a1)
 (entupd ename)))
 (setq a10 (assoc 13 a1))
 (if (/= a10 nil) (progn (setq a11 (list (nth 0 a10) (nth 1 a10) (nth 2 a10) 0))
 (setq a1 (subst a11 a10 a1))
 (entmod a1)
 (entupd ename)))
(setq a10 (assoc 14 a1))
 (if (/= a10 nil) (progn (setq a11 (list (nth 0 a10) (nth 1 a10) (nth 2 a10) 0))
 (setq a1 (subst a11 a10 a1))
 (entmod a1)
 (entupd ename)))
 (setq a10 (assoc 15 a1))
 (if (/= a10 nil) (progn (setq a11 (list (nth 0 a10) (nth 1 a10) (nth 2 a10) 0))
 (setq a1 (subst a11 a10 a1))
 (entmod a1)
 (entupd ename)))
(setq a10 (assoc 16 a1))
 (if (/= a10 nil) (progn (setq a11 (list (nth 0 a10) (nth 1 a10) (nth 2 a10) 0))
 (setq a1 (subst a11 a10 a1))
 (entmod a1)
 (entupd ename)))
 (setq a10 (assoc 17 a1))
 (if (/= a10 nil) (progn (setq a11 (list (nth 0 a10) (nth 1 a10) (nth 2 a10) 0))
 (setq a1 (subst a11 a10 a1))
 (entmod a1)
 (entupd ename)))
 (setq i (1+ i))
 (setq ename (entnext ename))
 )
)
(defun spl ()
 (setq co (length a1))
 (setq co (1- co))
 (while (>= co 0)
	(setq a10 (nth co a1))
	(setq art (car a10))
 	(if (= art 10) (progn (setq a11 (list (nth 0 a10) (nth 1 a10) (nth 2 a10) 0))

 	 (setq a1 (subst a11 a10 a1))

	 ))
 (if (= art 11) (progn (setq a11 (list (nth 0 a10) (nth 1 a10) (nth 2 a10) 0))

 	 (setq a1 (subst a11 a10 a1))

	 ))
 (setq co (1- co))
 )
(entmod a1)
(entupd ename)
)
__________________
Из песни слов не выкинешь...
lyv вне форума  
 
Непрочитано 22.09.2006, 11:56
#20
Кулик Алексей aka kpblc
Moderator

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


Можно еще и это: http://www.autocad.ru/cgi-bin/f1/board.cgi?t=29455wU спробовать Правда, работает и на отрезки тоже
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Кооордината Z

Опции темы Поиск в этой теме
Поиск в этой теме:

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