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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Lisp - сотрировка по слоям, по цвету и толщине

Lisp - сотрировка по слоям, по цвету и толщине

Ответ
Поиск в этой теме
Непрочитано 13.03.2009, 12:03 #1
Lisp - сотрировка по слоям, по цвету и толщине
dextron3
 
проектировшик
 
СССР
Регистрация: 01.01.2007
Сообщений: 5,149

Есть лисп который сортирует размеры в размеры штриховку штриховку, а тут задача такова:

тоесть после первого лиспа дополнительно разсортировать уже линии и полилинии и т.п.

Некоторые специалисты любят рисовать разными цветами разными тощинами, но все в одном слое, хотелось бы автоматизировать процесс сортировки:

Создаются слои типа Color23-t030,
первая часть это цвет, вторая толщина линии,

Буду благодарен, если кто то сталкивался с такой проблемой...
может есть решение
__________________
инженер проектировшик с опттом программа авто гад образование высшие
Просмотров: 3642
 
Непрочитано 13.03.2009, 13:08
#2
Profan


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


Цитата:
Есть лисп который сортирует размеры в размеры штриховку штриховку,
Написано коряво. Видимо, должно быть так:
Есть лисп, который переносит объекты "размеры" на слой "размеры", объекты "штриховка" на слой "штриховка" и т.д.
По типам объектов может получится максимум 25 слоев. Однако! Каждый объект ведь имеет свой цвет, тип линии и вес. Допустим, ни у одного объекта нет свойства "ПоСлою". Тогда требуемая новая сортировка создаст еще кучу слоев, а те слои, которые только что были созданы по типу объекта, окажутся пустыми. Но это ничего еще. А вот если объекты имеют вперемешку свойства, заданные явно и свойства "ПоСлою", а слои уже созданы неизвестно с какими параметрами...
"Пришел старик опять к синему морю и стал кликать золотую рыбку".
Profan вне форума  
 
Автор темы   Непрочитано 13.03.2009, 13:27
#3
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,149


**** АЛГОРИТМ ****


СОРТИРОВКА ПО СЛОЙНО:

1. Штриховки
2. Размеры
3. Текст
а) Белый текст
б) Желтый текст
а) Синий текст
б) Красный текст

Если текст одного цвета то сортировать по стилю

4. Мультитекст
а) Белый м-текст
б) Желтый м-текст
а) Синий м-текст
б) Красный м-текст

Если м-текст одного цвета то сортировать по стилю

5. Линии (тут самое интересное)

Сначало линии сортируем по цвету, и присваиваем значения по слоям
Затем линии цветные сортируем по толщине, и уже к названию цвета прибавляем цыфровой набор толщин, тоесть Желтая030, Желтая 040


Потом создаем набор полученных слоев

А теперь понятнее?

PS/ Некоторые недоброжелатели иногда перегоняют в нулевой слой все объекты, не удобно потом как то становиться рис перебирать...
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 13.03.2009, 13:30
#4
Sleekka

-
 
Регистрация: 24.07.2005
Москва
Сообщений: 1,335


optitools может подойдет?
Sleekka вне форума  
 
Непрочитано 13.03.2009, 13:34
#5
Profan


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


Желание-то понятно, только хрень это полная, IMHO.
Profan вне форума  
 
Автор темы   Непрочитано 13.03.2009, 14:44
#6
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,149


Sleekka, покажи гиф
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 13.03.2009, 16:01
#7
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


dextron3, Для выбора примитивов по некоему признаку (цвет, стой и т.д.) попробуй SSX из Express Tools
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 01.02.2012, 17:16
#8
crosandr

Инженер-строитель
 
Регистрация: 09.07.2010
Санкт-Петербург
Сообщений: 1,994


Цитата:
Сообщение от dextron3 Посмотреть сообщение
Есть лисп который сортирует размеры в размеры штриховку штриховку
ссылочкой поделитесь?
потому как похожая задача возникла
crosandr вне форума  
 
Непрочитано 01.02.2012, 18:24
#9
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,680


Что тут может быть быстрее быстрого выбора (_qselect)?
skkkk вне форума  
 
Непрочитано 02.02.2012, 12:24
#10
crosandr

Инженер-строитель
 
Регистрация: 09.07.2010
Санкт-Петербург
Сообщений: 1,994


Цитата:
Сообщение от skkkk Посмотреть сообщение
Что тут может быть быстрее быстрого выбора (_qselect)?
lisp хочется.
crosandr вне форума  
 
Непрочитано 02.02.2012, 13:22
#11
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Для вновь создаваемых здесь посмотри
Автоматический перенос размеров на слой размеры. Break макро
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 02.02.2012, 13:36
#12
crosandr

Инженер-строитель
 
Регистрация: 09.07.2010
Санкт-Петербург
Сообщений: 1,994


Цитата:
Сообщение от VVA Посмотреть сообщение
Для вновь создаваемых
Вот этот вопрос как раз давно решен реакторами, но все равно за ссылку спасибо.
Нужен лисп, чтоб расфасовку делал в уже существующем файле. Приходится брать за основу чертежи, в которых все начерчено в слое ноль черным чветом (такое тоже еще встречается). Или бывают варианты в которых примитивы разного типа (размеры, штриховка, текст, выноски и т.п.) лежат по слоям совершенно хаотично на мой взгляд. Так вот хочется отделить мух от котлет и разложить все по полочкам. Думаю, что в похожей ситуации побывали многие. Своя разработка есть, но кривая и не отлаженная. Может прогрессивное человечество этот вопрос давно решило?
crosandr вне форума  
 
Непрочитано 02.02.2012, 14:24
#13
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Набросал по быстрому расфасовочку
Код:
[Выделить все]
(defun c:Obj2lay (/ ss rule)
  ;;; VVA for dwg.ru
  ;;; http://forum.dwg.ru/showthread.php?p=870797#post870797
  ;;; Правило: 1-й элемент списка значение dxf группы 0
  ;;;          2-й элемент - имя слоя
  ;;;  Чтобы узнать значение dxf группы 0
  ;;; скопируйте в командную строчку строку ниже без символов ;;; начиная с (
  ;;; (cdr(assoc 0 (entget(car(entsel)))))
  (setq	rule ;;;Правило
	 (list
	   (list "DIMENSION" "DimLayer")
	   (list "TEXT" "TextLayer")
	 )
  )
  (if (setq ss (ssget "_:L"))
    (
     (lambda (i / e lay)
       (while (setq e (ssname ss (setq i (1+ i))))
	 (if (setq lay (assoc (cdr (assoc 0 (entget e))) rule))
	   (entupd
	     (cdr
	       (assoc -1
		      (entmod
			(subst
			  (cons 8 (cadr lay))
			  (assoc 8 (entget e))
			  (entget e)
			)
		      )
	       )
	     )
	   )
	 )
       )
     )
      -1
    )
  )
  (princ)
)
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 02.02.2012, 15:01
#14
crosandr

Инженер-строитель
 
Регистрация: 09.07.2010
Санкт-Петербург
Сообщений: 1,994


Цитата:
Сообщение от VVA Посмотреть сообщение
Набросал по быстрому расфасовочку
Спасибо, то, что нужно. Остальное сам допишу.
crosandr вне форума  
 
Непрочитано 15.02.2012, 20:02
#15
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,680


Цитата:
Есть лисп который сортирует размеры в размеры штриховку штриховку
Наткнулся еще на один подобный
skkkk вне форума  
 
Непрочитано 16.02.2012, 10:07
#16
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


skkkk, Это одна из модификаций кода по ссылке из #11 и применим для вновь создаваемых, а требовалось

Цитата:
Сообщение от crosandr Посмотреть сообщение
Нужен лисп, чтоб расфасовку делал в уже существующем файле.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Lisp - сотрировка по слоям, по цвету и толщине

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LISP. Распределение по слоям объектов dim.,hatch,text Суханова LISP 5 28.08.2008 13:31
загрузка DOS прог через LISP Gaa LISP 15 12.08.2005 19:19