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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Программа переносящая все объекты чертежа на слой 0

Программа переносящая все объекты чертежа на слой 0

Ответ
Поиск в этой теме
Непрочитано 19.12.2008, 20:48 #1
Программа переносящая все объекты чертежа на слой 0
bytyamin
 
Регистрация: 19.12.2008
Сообщений: 4

Помогите пожалуйста реализовать....Начал с этого...



(COMMAND "_LAYER" "_MAKE" "Sloy_c_obeektami" "_COLOR" "140" "" "")
(command "_rectangle" '(2 2) '(-2 -2) "")

Незнаю как осущесвляется перемещение на др слой.Помогите плззз!!!!!
Просмотров: 7002
 
Непрочитано 19.12.2008, 21:09
#2
Profan


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


Ничего перемещать не надо. Надо просто изменить свойство объекта (ов) - слой.
Profan вне форума  
 
Автор темы   Непрочитано 19.12.2008, 21:18
#3
bytyamin


 
Регистрация: 19.12.2008
Сообщений: 4


Помоги пожалуйста надо сначала все выделить потом изменит св-во слоя ...
Я вот ща в инете такую прогу нашел, ток чет она не пашет:

; Программа 10 Перенос примитивов с одного слоя
; на другой


(DEPUN C:CNGLAY (/cmd entn ent)
(SETVAR "CMDECHO" 0)
(SETQ found NIL)
(SETQ oldlyr (STRCASE (GETSTRINO
"\n Введите старое имя слоя:"))
newlyr (STRCASE (OETSTRING
"\n Введите новое имя слоя:")))
(PRINC "\n Ведется поиск примитивов на слое")
(SETQ entn (ENTNEXT))
(WHILE (/=entn nil)
(SETQ ent (ENTGET entn))
(IF ( = (CDR (ASSOC 8 ent) oldlyr)
(PROGN
(COMMAND "CHANGE" entn""
"p" "LA" newlyr"")
(SETQ found t)
);progn
);if
(SETQ entn (ENTNEXT entn))
); while
(IF (NOT found)
(PRINC (STRCAT "\n На слое" oldlyr" нет примитивов"))
);if
(SETVAR "CMDECHO" 1)
)
bytyamin вне форума  
 
Непрочитано 19.12.2008, 21:29
#4
Donhuan

Проектировщик СС
 
Регистрация: 24.06.2008
Минск
Сообщений: 134
<phrase 1=


А что если после создания слоя выполнить такую команду, а затем уже рисовать прямоугольник?
Код:
[Выделить все]
(command "_.-layer" "_s" "Sloy_c_obeektami" "")

Последний раз редактировалось Donhuan, 19.12.2008 в 22:03.
Donhuan вне форума  
 
Автор темы   Непрочитано 19.12.2008, 21:35
#5
bytyamin


 
Регистрация: 19.12.2008
Сообщений: 4


Не,вот суть программы:
Я создаю слой и рисую на нем все что угодно, затем запускаю программу и она переносит все объекты которые начертил на слой 0...Вот...Завтра сдавать...Капец мне если не сделаю =(((

Последний раз редактировалось bytyamin, 19.12.2008 в 21:52.
bytyamin вне форума  
 
Непрочитано 19.12.2008, 22:02
#6
Donhuan

Проектировщик СС
 
Регистрация: 24.06.2008
Минск
Сообщений: 134
<phrase 1=


Вставь в конец своей программы:
Код:
[Выделить все]
(mapcar
  '(lambda (x)
     (entmod (subst (cons 8 "0") (assoc 8 x) x))
   )
  (mapcar
    '(lambda (x)
       (entget (cadr x))
     )
    (ssnamex (ssget "_x" '((8 . "Sloy_c_obeektami"))))
  )
)
Donhuan вне форума  
 
Непрочитано 19.12.2008, 22:13
#7
Аshаs-ка

проектировсчик
 
Регистрация: 06.01.2006
Москва
Сообщений: 1,986


Убить за такую прогу. Нет ничего мерзопакостнее в автокаде, чем чертежи, нарисованные (не могу написать- начерченные!) целиком в слое "0". Он еще и служебный, кстати. Сдай- и больше так никогда не делай.
Аshаs-ка вне форума  
 
Непрочитано 20.12.2008, 03:11
#8
Vova

Engineer
 
Регистрация: 05.09.2003
New-York
Сообщений: 10,288


Ashas-ka прав на 200%
Vova вне форума  
 
Непрочитано 20.12.2008, 05:22
#9
Lev_37

Проектирование ПГС
 
Регистрация: 04.01.2006
г. Усть-Илимск
Сообщений: 584
<phrase 1=


Ashas-ka! Vova!
А как нормально можно работать с файлом в котором созданы десятки слоев и блоков?
В чем мерзопакосность работы на одном слое?
__________________
Всё познаётся в сравнении!
Lev_37 вне форума  
 
Непрочитано 20.12.2008, 07:33
#10
Reka

просто конструктор
 
Регистрация: 12.02.2008
Космос
Сообщений: 358


Цитата:
Сообщение от Lev_37 Посмотреть сообщение
В чем мерзопакосность работы на одном слое?
Вы когда-нибудь "бороду" на катушке от спининга распутывали?
Цитата:
Сообщение от Lev_37 Посмотреть сообщение
А как нормально можно работать с файлом в котором созданы десятки слоев и блоков?
А так виток к виточку!
__________________
Чистая совесть только у людей с короткой памятью.
Reka вне форума  
 
Непрочитано 20.12.2008, 08:37
#11
Аshаs-ка

проектировсчик
 
Регистрация: 06.01.2006
Москва
Сообщений: 1,986


Lev-37: А вот если 100 блоков у меня вставлено, я один оедактирую- все меняются, а вот если чертеж забит сверх всякой меры - экспресстулсами манипулирую видимостью слоев как мне удобно, аесли внешние ссылки - так вообще можно всем отделом над одним проектом работать и вообще цветные чертежи читать проще и работать с ними проще, ошибок меньше. Более того, у меня рабочие на стройке спрашивают - а почему не ЦВЕТНЫЕ?!
Аshаs-ка вне форума  
 
Непрочитано 20.12.2008, 15:34
#12
Vova

Engineer
 
Регистрация: 05.09.2003
New-York
Сообщений: 10,288


Цитата:
Сообщение от Lev_37 Посмотреть сообщение
А как нормально можно работать с файлом в котором созданы десятки слоев и блоков?
Посмотри здесь, в посте #18 файл. В нем

Цитата:
Исходный файл я облегчил путем удаления нескольких квартир, а на образце конечного результата показано все. (поэтому размер файла и количества слоев, например, у вас в идеале должно получится меньше, чем в образце. В полном исходном файле было под 900 слоев)
А если бы был один, работа с ним заняла бы невообразимо больше времени
Vova вне форума  
 
Автор темы   Непрочитано 20.12.2008, 16:57
#13
bytyamin


 
Регистрация: 19.12.2008
Сообщений: 4


СПАСИБО БОЛЬШОЕ!!!!!!!!!!
bytyamin вне форума  
 
Непрочитано 21.12.2008, 17:14
#14
Vova

Engineer
 
Регистрация: 05.09.2003
New-York
Сообщений: 10,288


Цитата:
Сообщение от bytyamin Посмотреть сообщение
Не,вот суть программы:
Я создаю слой и рисую на нем все что угодно, затем запускаю программу и она переносит все объекты которые начертил на слой 0...Вот...Завтра сдавать...Капец мне если не сделаю =(((
Ну так чем это закончилось?
Vova вне форума  
 
Непрочитано 16.01.2009, 10:31
#15
Sazanoff_e

А я тут это...погулять вышел...
 
Регистрация: 28.03.2007
Москва - от слова Моск?
Сообщений: 227
<phrase 1=


Цитата:
Сообщение от Аshаs-ка Посмотреть сообщение
Убить за такую прогу.
Очевидно так и поступили)))
__________________
Рожденный проектировать ГОСТов не читает. (с)Туманов А.А.
Sazanoff_e вне форума  
 
Непрочитано 16.01.2009, 10:53
#16
T-Yoke

Артиллерист - вертолётчик. Дипломированный инженер-механик. Technologist
 
Регистрация: 29.11.2004
Где-то около Москвы
Сообщений: 16,752
Отправить сообщение для T-Yoke с помощью Skype™


Цитата: Программа переносящая все объекты чертежа на слой 0
За такие программки я бы расстреливал на месте из рогатки Половину функционала убивают сходу.
__________________
«Артиллерия не токмо грохот, но и наука!» Пётр I
T-Yoke вне форума  
 
Непрочитано 16.01.2009, 10:59
#17
ssn

Инженер проектировщик (раздел ТМ - фриланс)
 
Регистрация: 06.12.2003
Геленджик
Сообщений: 1,783
Отправить сообщение для ssn с помощью Skype™


да ладно вам, вполне нормальная программа для того, что бы поделиться файлом куданить мимо конторы. просто надо использовать по назначению.
сюда же добавить ещё пакостей всяких...
иногда приходят чертежи, не знаю, спецом так делают, или после каких то махинаций такое выходит, но прикольно: несколько однострочных текстов с одной координатой по У на разными координатами по Х собраны в один длинющий текст с кучей пробелов... например, цепочка размеров, естественно взорвана, и куча размеров, ну допустим штук 20... и все в одном тексте. вот подарочек для редактировния
или виды смаленькими противными скейлами (причем разными по осям), что то вроде 1,0005, что бы не ставились размеры масштабные тоже весело
ssn вне форума  
 
Непрочитано 16.01.2009, 17:15
#18
T-Yoke

Артиллерист - вертолётчик. Дипломированный инженер-механик. Technologist
 
Регистрация: 29.11.2004
Где-то около Москвы
Сообщений: 16,752
Отправить сообщение для T-Yoke с помощью Skype™


Цитата:
Сообщение от ssn Посмотреть сообщение
да ладно вам, вполне нормальная программа для того, что бы поделиться файлом куданить мимо конторы...
сюда же добавить ещё пакостей всяких...иногда приходят чертежи, не знаю, спецом так делают, или после каких то махинаций такое выходит, но прикольно...
Ну детский лепет ей богу. Если мы говорим о нормальной работе серьезной фирмы с меркантильным подходом к своей продукции, а не студенческих приколах, над сокурсниками.
__________________
«Артиллерия не токмо грохот, но и наука!» Пётр I
T-Yoke вне форума  
 
Непрочитано 16.01.2009, 20:31
#19
Vova

Engineer
 
Регистрация: 05.09.2003
New-York
Сообщений: 10,288


Ну ладно, а как технически справит'ся с такой проблемой: был слой с типом линии такой-то. В свойствах стоит Послою. Переводим в 0. Что получаем на выходе? А про цвета и говорить нечего. Поэтому весь чертеж искорежится
Vova вне форума  
 
Непрочитано 16.01.2009, 21:02
#20
Profan


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


А я вот специально переношу все объекты на слой 0 и цвет у меня - белый (7). Это я делаю перед открытием DWG в CorelDRAW, например, для последующей раскраски фасада. Так что нечего попусту критиковать, возможно, человеку нужно для своих целей.
Profan вне форума  
 
Непрочитано 16.01.2009, 21:08
#21
Donhuan

Проектировщик СС
 
Регистрация: 24.06.2008
Минск
Сообщений: 134
<phrase 1=


Ну вы и нафлудили. Возникает непреодолимое желание удалить код вызвавший такую бурю негатива.
Если серьезно, то студенту скорее всего понадобилась прожка для лабораторной какой нибудь (ради примера взяли слой "0"), он и не заходил-то на форум больше.
P.S.
Кстати код переносит на слой "0" объекты только со слоя "Sloy_c_obeektami", так что название темы некорректно.
Donhuan вне форума  
 
Непрочитано 17.01.2009, 16:33
#22
ssn

Инженер проектировщик (раздел ТМ - фриланс)
 
Регистрация: 06.12.2003
Геленджик
Сообщений: 1,783
Отправить сообщение для ssn с помощью Skype™


да прям пипец какой лепет...
наверно не приходилось получать чертежи от смежников с количеством слоёв за сотню, тапа двери, окна, туалеты, рамы, закладные, 1, 3, 11, нина, вася... ну и так далее... мне это все надо как подложка, не более того.
если чертёж выполнен правильно, то труда эта операция не составит. но выидимо такой судьба мой, что не встречал ещё чертежей, что бы вот так просто, выделили все, перенесли на нужный слой, пурганули разок - и все, ура, продолжаем разговор...
да ладно, все глумятся как хотят...
и почему решили что все переносится на ноль с потерей цвета, толщин и прочего? можно внешний вид четрежа после переноса оставить таким же.
слой 0 тут понятное дело не так нужен, он для внутренних целей, но код, который разносит все объекты чертежа на три четыре слоя по типу: толстые, тонкие, размеры, текст и удаляет все остальные слои думаю был бы довольно таки полезным.
ssn вне форума  
 
Непрочитано 17.01.2009, 17:02
#23
Vova

Engineer
 
Регистрация: 05.09.2003
New-York
Сообщений: 10,288


Цитата:
Сообщение от ssn Посмотреть сообщение
наверно не приходилось получать чертежи от смежников с количеством слоёв за сотню,..... мне это все надо как подложка, не более того.
если чертёж выполнен правильно, то труда эта операция не составит.
Посмотри тему Подоснова. Там представлен американский чертеж с количеством слоев под 1000. Чтобы сделать из него подоснову стандартными способамин надо неск. часов, хотя чертеж сделан правильно (с точки зрения его авторов)
Цитата:
и почему решили что все переносится на ноль с потерей цвета, толщин и прочего? можно внешний вид четрежа после переноса оставить таким же.
.
Потому что так и есть. Внешний вид исказится
Vova вне форума  
 
Непрочитано 17.01.2009, 20:44
#24
ssn

Инженер проектировщик (раздел ТМ - фриланс)
 
Регистрация: 06.12.2003
Геленджик
Сообщений: 1,783
Отправить сообщение для ssn с помощью Skype™


да ладно исказится....
можно примитивам напрямую задавать свойства "материнских" объектов...
думаю вот сделать такую прогу на ВБА... только с моим знанимем програмирования наверно выйдет очень медленная штука. хотя, впринципе, если надо из 1000 слоёв сделать например 4, то такая прога была бы супер полезной... запустил, и пошел пить кофе
ssn вне форума  
 
Непрочитано 17.01.2009, 21:18
#25
Кулик Алексей aka kpblc
Moderator

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


Я примерно представляю себе длину кода для переноса всех объектов текущего файла (без обработки внешних ссылок, например) на один слой. Поэтому даже браться не буду.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 18.01.2009, 11:39
#26
ssn

Инженер проектировщик (раздел ТМ - фриланс)
 
Регистрация: 06.12.2003
Геленджик
Сообщений: 1,783
Отправить сообщение для ssn с помощью Skype™


неужели так сложно?
а в чем вся соль?
выбрал объект, узнал его свойства, согластно них назначил новые....
чего я не учитываю?
ssn вне форума  
 
Непрочитано 18.01.2009, 12:28
#27
Кулик Алексей aka kpblc
Moderator

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


Вхождения и описания обычных и дин.блоков (а для описаний надо еще и DXF-представления обрабатывать для гарантии). Атрибуты. Размеры и размерные стили. Прокси-графика. Внешние ссылки. Расширенные данные на примитивы.
Это те моменты, которые я "навскидку" вспомнил. Возможно, при разработке еще что-нибудь вылезет.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Программа переносящая все объекты чертежа на слой 0



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как выделить все объекты одного слоя или быстро сделать н... Валера_ AutoCAD 42 02.08.2022 12:13
Фундамент с динамическими нагрузками в Scad Tlelaxu SCAD 9 31.08.2007 10:44
Оформление чертежа Vova AutoCAD 6 10.05.2007 09:43
ЮМОР 2006 =) Perezz!! Разное 1122 04.01.2007 00:46
нид прога на лиспе удал. все объекты фрозеных слоев SATCH LISP 3 06.10.2003 17:41