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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Нужен лисп (удлиннитель отрезка)

Нужен лисп (удлиннитель отрезка)

Закрытая тема
Поиск в этой теме
Непрочитано 14.07.2007, 13:32
Нужен лисп (удлиннитель отрезка)
dextron3
 
проектировшик
 
СССР
Регистрация: 01.01.2007
Сообщений: 5,149

Алгоритм:

К любому выделенному отрезку (выделяется должна целая
область прямоугольником, а не штучно) прибавляется с двух сторон заданная длина в том же направлении отрезка.


Как работает:

Введите удлиннение =

Результат:

При вводе

Введите удлиннение = 100

[ATTACH]1184405388.JPG[/ATTACH]
:roll: :roll: :roll: :roll:
__________________
инженер проектировшик с опттом программа авто гад образование высшие
Просмотров: 5314
 
Непрочитано 16.07.2007, 10:44
#21
Zouss


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


фермы, косынки, доярки...
с месяц как на всех центральных (а у нас еще и местных) каналах откручивают сюжет, как некую животноводческую ферму в Нижегородской области подключили к интернету. лет 5 назад (а может и больше) девелось мне ознакомиться с передовым опытом голландского свиноделия. точнее понаблюдать за процессом его перенятия.
вот как в голландии - у каждой свинки своя отдельная комфортабельная клетка, по ферме прокинута разветвленная система скребковых конвейеров, всем управляет ПК, который по имеющейся в нем базе данных и с помощью соответствующего ПО подает в ОПРЕДЕЛЕННУЮ клетку в ОПРЕДЕЛЕННОЕ время строго ОПРЕДЕЛЕННУЮ порцию корма. внушает...
наши свиностроители заимствовали у этой системы самое лучшее - поставили кольцевой конвейер, диаметром раза в 2 больше и таймер...
ах да, простите увлекся, вот ваш лисп, тестируйте.
Код:
[Выделить все]
(defun C:Mlengthenl (/ ss delta)
  (defun *error* (msg /)
    (vla-endundomark adoc)
    (command "_.UNDO" "_End")
    (princ)
  ) ;_  defun
  (vl-load-com)
  (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
  (vla-startundomark adoc)
  (setq	ss    nil
	delta (getdist "Задайте приращение отрезков: ")
  ) ;_  setq
  (mll
    (while (not ss) ;_ not
      (progn
	(prompt "Выберите отрезки:")
	(setq ss (ssget '((0 . "LINE"))))
      ) ;_ progn
    ) ;_ while
    delta
  ) ;_  mll
  (vla-endundomark adoc)
  (princ)
) ;_ defun

(defun mll (ss delta / n ang en ed dx10 dx11 pt10 pt11)
  (setq n (sslength ss))
  (repeat n
    (setq ed  (entget (setq en (ssname ss 0)))
	  ang (angle (setq pt10 (cdr (setq dx10 (assoc 10 ed))))
		     (setq pt11 (cdr (setq dx11 (assoc 11 ed))))
	      ) ;_  angle
	  ed  (subst (cons 10 (polar pt10 ang (- delta))) dx10 ed)
	  ed  (subst (cons 11 (polar pt11 ang delta)) dx11 ed)
    ) ;_ setq
    (ssdel en ss)
    (entmod ed)
  ) ;_ repeat
) ;_ defun
Zouss вне форума  
 
Непрочитано 16.07.2007, 11:00
#22
Кулик Алексей aka kpblc
Moderator

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


А дальше-то что? Блин, на самом интересном месте...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 16.07.2007, 11:51
#23
shnn

Инженер
 
Регистрация: 18.02.2005
Самара
Сообщений: 747


Код:
[Выделить все]
  ) ;_ end repeat 
) ;_ end defun
) ;_ end рассказ
shnn вне форума  
Закрытая тема
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Нужен лисп (удлиннитель отрезка)

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

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