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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как переупорядочить объекты?

Как переупорядочить объекты?

Ответ
Поиск в этой теме
Непрочитано 13.08.2013, 18:00 #1
Как переупорядочить объекты?
dirge
 
Регистрация: 05.09.2011
Сообщений: 38

Здравствуйте! Есть объекты имеющие следующий порядок на чертеже (на рисунке слева). Нужно как-то процедурно иметь возможность эти объекты переупорядочивать чтобы объекты имели всегда направление слева направо и сверху вниз (рисунок справа). Реализация на LISP нужна. Буду рад любой помощи! Спасибо.

Изображения
Тип файла: jpg Untitled-1.jpg (93.8 Кб, 155 просмотров)


Последний раз редактировалось dirge, 13.08.2013 в 18:01. Причина: Дополнение информации
Просмотров: 2958
 
Непрочитано 13.08.2013, 18:06
#2
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,702
Отправить сообщение для Do$ с помощью Skype™


Непонятно. Объекты - это текст? Если да, то в Express tools есть автонумерация.
Do$ вне форума  
 
Автор темы   Непрочитано 13.08.2013, 18:10
#3
dirge


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


Да, объекты это текст. Я пробовал автонумерацией, она не делает до конца то, что нужно, приходится руками допиливать. Поэтому сюда и обратился.
dirge вне форума  
 
Непрочитано 13.08.2013, 18:17
#4
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от dirge Посмотреть сообщение
Реализация на LISP нужна. Буду рад любой помощи!
Например платной? Помощь - это когда ты выкладываешь свой программный код с проблемой и задаёшь по нему конкретные вопросы, но ты просишь за тебя написать - это не помощь, а заявка на выполнение работы.
Offtop: p.s. сама задача в реализации проста как пять копеек.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось hwd, 13.08.2013 в 18:23.
hwd вне форума  
 
Непрочитано 13.08.2013, 20:48
#5
Олег (jr.)

специалист по околачиванию грушевых деревьев
 
Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 813


Цитата:
Сообщение от dirge Посмотреть сообщение
Здравствуйте! Есть объекты имеющие следующий порядок на чертеже (на рисунке слева). Нужно как-то процедурно иметь возможность эти объекты переупорядочивать чтобы объекты имели всегда направление слева направо и сверху вниз (рисунок справа). Реализация на LISP нужна. Буду рад любой помощи! Спасибо.
Попробуй, написал по-бырому и корявенько, но вроде
сортирует в нужном направлении:


Код:
[Выделить все]
;;				code start 				;;

;;			Sort Texts by X ( > ) then by Y ( < )		;;

(defun C:TSXY  (/ *error* cnt ent_list sorted_list ss unsorted_list)
;; fixo () 2013 * all rights released
  (defun *error* (msg)
   (command "_undo" "_e")
    (cond ((not msg))                                                   ; Normal exit
          ((member msg '("Function cancelled" "quit / exit abort")))    ; <esc> or (quit)
          ((princ (strcat "\n** Error: " msg " ** ")))
    )                                                                   ; Fatal error, display it
  (princ)
    )

  (command "_undo" "_be")
  (if 
  (setq ss (ssget (list (cons 0 "TEXT"))))
  (progn
  (setq ent_list (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))))

(setq	unsorted_list
	 (mapcar (function (lambda (x)
			     (cons (cdr (assoc 10 (entget x))) x)))
		 ent_list)
	)

   (setq	sorted_list	(mapcar 'cdr(vl-sort unsorted_list
			 '(lambda (a b)
			    (cond
			      ((= (car(car a)) (car(car b)))
			       (< (car(car a)) (car (car b))))
			      (<(cadr (car a)) (cadr (car b)))))
			 )
	)
     )

(setq cnt 0)
(mapcar '(lambda (x)
		      (progn
			(setq cnt (1+ cnt))
(entmod (subst (cons 1 (vl-princ-to-string cnt))(assoc 1 x) x))))
	(mapcar 'entget  sorted_list))
  )
  )

(*error* nil)
  (princ)
  )
;;				code end 				;;
Олег (jr.) вне форума  
 
Непрочитано 13.08.2013, 21:20
#6
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от dirge Посмотреть сообщение
Буду рад любой помощи!
В поиск! Тема по нумерации текстов и блоков поднималась не один десяток раз.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как переупорядочить объекты?

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LISP. Разорвать объекты в точках пересечения. BreakObjects. VVA Готовые программы 110 25.02.2022 07:33
Аттестация в Минрегионе по негосударственной экспертизе Людмила Охр Прочее. Архитектура и строительство 350 14.02.2015 17:50
Как определить стоимость проектных работ, если не известна стоимость строительства? dextron3 Поиск литературы, чертежей, моделей и прочих материалов 37 27.08.2014 18:32
Подскажите программу правильной конвертации PROXY объектов "СПДС График" в обычные объекты AutoCAD МишаИнженер Программирование 2 03.11.2011 10:05
Как выполнить копирование по окружности если расстояние между точками поворота разное? МишаИнженер AutoCAD 7 02.11.2011 09:17