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

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

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

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

Алгоритм:

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


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

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

Результат:

При вводе

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

[ATTACH]1184405388.JPG[/ATTACH]
:roll: :roll: :roll: :roll:
__________________
инженер проектировшик с опттом программа авто гад образование высшие
Просмотров: 5143
 
Непрочитано 14.07.2007, 14:01
#2
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,826


Команда "_LENgthen" с опцией "_DElta".
Krieger вне форума  
 
Автор темы   Непрочитано 14.07.2007, 14:21
#3
dextron3

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


А какой макрос кнопки стобы автоматом делту выбирала
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 14.07.2007, 14:40
#4
Dym


 
Регистрация: 27.09.2005
Двинскъ
Сообщений: 586
Отправить сообщение для Dym с помощью Skype™


F1+http://dwg.ru/art/2
Dym вне форума  
 
Автор темы   Непрочитано 14.07.2007, 16:05
#5
dextron3

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


Вот сам написал макрос, недождался

Код:
[Выделить все]
^C^C_LENgthen;DE;20;

mitjaj где такой материал сам берешь?
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 14.07.2007, 22:37
#6
Кулик Алексей aka kpblc
Moderator

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


Этот макрос с русскими версиями (официальными) работать не будет.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 15.07.2007, 07:48
#7
dextron3

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


Цитата:
Сообщение от Кулик Алексей aka kpblc
Этот макрос с русскими версиями (официальными) работать не будет.
а почему, или в русских надо все на русском?
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 15.07.2007, 12:57
#8
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,826


dextron3
вот так будет:
Код:
[Выделить все]
^C^C_lengthen;_delta;20;
Krieger вне форума  
 
Автор темы   Непрочитано 15.07.2007, 16:03
#9
dextron3

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


Можно ли макросами обойтись без лиспов?
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 15.07.2007, 17:10
#10
Кулик Алексей aka kpblc
Moderator

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


> #7 : "AutoCAD язык макрокоманд и создание кнопок", "САПР на базе AutoCAD - как это делается"
> #8 : Лично мне неохота объяснять было.
> #9 : Ну попробуй...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 15.07.2007, 18:45
#11
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


dextron3
Слушай ты так частл просищь лиспы и доп программки что может тебе лучше обратить внимание на СПДС+PS(конструкции) по моему мнению это пока самая оптимальная связка для инженера строителя.
Ну если уж чего надо то взять в руки книгу Полещука иль по копаться тут Конфереция Автокад раздел готовые программы.[/url]
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Автор темы   Непрочитано 15.07.2007, 19:56
#12
dextron3

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


Цитата:
Сообщение от DEM
dextron3
Слушай ты так частл просищь лиспы и доп программки что может тебе лучше обратить внимание на СПДС+PS(конструкции) по моему мнению это пока самая оптимальная связка для инженера строителя.
Ну если уж чего надо то взять в руки книгу Полещука иль по копаться тут Конфереция Автокад раздел готовые программы.[/url]
СПДС и проджект студио есть, но к сожалению в них нет данных опций поэтому я и спрашиваю
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 15.07.2007, 20:03
#13
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


Блин мне этого хватаеть, и уж быстрее ты не сделаешь свою работу.
Надо либо чертить на автомаете, либо чертить думая но с автоматизацией некоторых действий.
Большую красную кнопку ты в любоим случае не получишь.
Ну Если уж хочешь ЛИСПЫ, то в этом случае тебе лучше самому изучить ЛИСП, и понять что нафиг оно надо, уж лучше профессионально заниматься проектированием.
У меня это больше времени занимало чем расчеты и проектирование.
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Непрочитано 15.07.2007, 20:44
#14
Profan


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


Код:
[Выделить все]
(defun C:L_L ( / tn tk delta flag ob line)
    (setvar "CMDECHO" 0)
    (setq delta (getreal "\n Величина удлинения линии (ENTER-отказ): "))
    (if delta
        (progn
        (setq flag T)
        (while flag
        (setq ob (entsel "\n Выберите отрезок (ENTER-завершить): "))
        (if ob
            (progn
            (setq line (entget (car ob)))
                  (if (= (cdr (assoc 0 line)) "LINE")
                  (progn
                  (setq tn (cdr (assoc 10 line)))
                  (setq tk (cdr (assoc 11 line)))
                  (command "_LENGTHEN" "_delta" delta tn tk "")
                  ); progn
                  ); if
             ); progn
                  (setq flag nil)
          ); if
        ); while
        ); progn
        (princ "\n Отказ.")
    ); if
(princ)
)
Profan вне форума  
 
Автор темы   Непрочитано 15.07.2007, 21:07
#15
dextron3

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


DEM Просто у нас пофессия лисперов не востребована, если только как хобби, но кушать приходиться добывать проектированием.

Profan
сасибо!
вот еще всем нужный лисп!!!
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Автор темы   Непрочитано 15.07.2007, 21:09
#16
dextron3

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


DEM
скажи где бы ты такой лисп использовал? если ты конструкторской деятельностью занимаешься то часто сталкиваешься
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 15.07.2007, 21:17
#17
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


Сорри, но Я уже не конструктор а руководитель.
Подыбным ЛИСПОМ пользовался бы при изменении опалубки и измнении арматуры.
Но в связи с тем что пользуюсь в основном PS-конструкции, то мне это особо не надо.
При чем Я делаю переодически свои програмки которые уже выкладывал, например прогу "Сетка", которая отрисовывает простые сетки, прогу спецификация и т.д.
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Автор темы   Непрочитано 15.07.2007, 21:24
#18
dextron3

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


Цитата:
Сообщение от DEM
Сорри, но Я уже не конструктор а руководитель.
Подыбным ЛИСПОМ пользовался бы при изменении опалубки и измнении арматуры.
Но в связи с тем что пользуюсь в основном PS-конструкции, то мне это особо не надо.
При чем Я делаю переодически свои програмки которые уже выкладывал, например прогу "Сетка", которая отрисовывает простые сетки, прогу спецификация и т.д.
Программа сетки, как раз я ищу такой лисп, скажи где опубликован?

А этот лисп нужен как раз таки для отрисовки косынок в ферме
могу дать скриншот
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 16.07.2007, 06:08
#19
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,826


>dextron3
Попробуй еще это:
Код:
[Выделить все]
;|Функция Kr_ElementStretch
Вычерчивает укороченную или удлиненную на велечину delta полилинию по двум точкам
Параметры:	layer - слой для будующей pline
		delta - величина увеличения (уменьшения) концов pline
Примеры:	(Kr_ElementStretch "proba" 1)
		(Kr_ElementStretch "0" -2)
		(Kr_ElementStretch (getvar "clayer") -2) - в текущем слое
Макрос на кнопку;
		^C^C(Kr_ElementStretch "proba" (* (Kr_ScaleOfVP) -1.5))
|;
(defun Kr_ElementStretch (layer delta)
    (while (progn
	     (princ (strcat "\nDelta=" (rtos delta 2 2)))
	     (initget 128 "Delta _ del")
	     (setq pt1 (getpoint "\nУкажите начальную точку [Delta] <Выход> : ")))
      (if (eq pt1 "del")
	
	(if (setq deltatemp (getreal (strcat "\nУкажите величину delta <" (rtos delta 2 4)  "> : ")))
	  (setq delta deltatemp));end if
	
	   (while (setq  pt2 (getpoint pt1 "\nУкажите следующую точку <Указать начальную точку> : "))
		  (setq  pt3 (Polar pt1 (angle pt2 pt1) delta)
			 pt4 (Polar pt2 (angle pt1 pt2) delta)
			 );end setq
				  (entmake
					(list
						'(0 . "LWPOLYLINE")
						'(100 . "AcDbEntity")
						(cons 8 layer)
						'(100 . "AcDbPolyline")
						'(90 . 2)
						'(70 . 0)
						(cons 10 pt3)
						(cons 10 pt4)
					);end list
				  );end entmake
		    (setq pt1 pt2)
	   );end while
	);end if
     );end while
  );end defun

(defun Kr_ScaleOfVP ( / )
        (if (= (getvar "dimscale") 0) (setq dsc 1) (setq dsc 
(getvar "dimscale")))
       (if (and (not (= (Getvar "CVPORT") 1))
          (= (vla-get-ActiveSpace (vla-get-ActiveDocument (vlax-get-Acad-Object))) 0)
          (= (getvar "dimscale") 0))
           (setq dsc (/ dsc (vla-get-CustomScale (vla-get-ActivePViewport (vla-get-ActiveDocument (vlax-get-Acad-Object))))))
      );end if
    (print dsc)
    )
Krieger вне форума  
 
Непрочитано 16.07.2007, 06:30
#20
Profan


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


И вот здесь еще можно посмотреть:
http://www.autocad.ru/cgi-bin/f1/board.cgi?t=19521dI
Profan вне форума  
Закрытая тема
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Нужен лисп (удлиннитель отрезка)

Размещение рекламы