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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Научите лиспу на примере (или как kpblc, VVA и компания пытаются обучить чайника лиспу)

Научите лиспу на примере (или как kpblc, VVA и компания пытаются обучить чайника лиспу)

Ответ
Поиск в этой теме
Непрочитано 20.07.2008, 20:12
Научите лиспу на примере (или как kpblc, VVA и компания пытаются обучить чайника лиспу)
Red Nova
 
ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Торонто
Регистрация: 23.10.2007
Сообщений: 1,980

Со школы не ладится у меня с программированием. Все предметы щелкал, а на экзамене по информатике (Visual foxpro) программку типа суммирования столбцов списал у соседа (это уже в университете).
Не смотря на эте намерен научится писать программы для Автокада на лиспе, скачал книгу Хювенена, несколько примеров создания программ, но после получасового “смотрения” таких книг мое мышление явно притормаживает.
Решил пойти другим путем.
Нашел самый короткий лисп из моей коллекции, и прошу программистов с этого форума пошагово объяснить какой символ что означает. Надеюсь на вашу помощь.


Код:
[Выделить все]
(defun c:make-blocks-explodeable (/ adoc)
  (vl-load-com)
  (vla-startundomark
    (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
    ) ;_ end of vla-startundomark
  (vlax-for blk_def (vla-get-blocks adoc)
    (if (and (equal (vla-get-isxref blk_def) :vlax-false)
             (equal (vla-get-islayout blk_def) :vlax-false)
             ) ;_ end of and
      (vl-catch-all-apply '(lambda () (vla-put-explodable blk_def :vlax-true)))
      ) ;_ end of if
    ) ;_ end of vlax-for
  (vla-endundomark adoc)
  (princ)
  ) ;_ end of defun
_____________________________________________________________________________________________________________

Прошло много лет и топик теперь представляет из себя площадку для обучения азов программирования для многих начинающих.
Так что начинающие лиспогрызы приветствуются .
__________________
Блог

Последний раз редактировалось Red Nova, 12.07.2017 в 05:43.
Просмотров: 1972473
 
Непрочитано 14.05.2011, 12:19
#1481
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Владимир Егорьев, зачем вам 2я полилиния? Размножайте первую, у вас логическая ошибка в коде, продумайте тщательно алгоритм действий, лучше запишите... найдите ошибку или спрашивать еще долго будете...
gomer вне форума  
 
Непрочитано 14.05.2011, 12:50
#1482
Владимир Егорьев


 
Сообщений: n/a


Цитата:
Сообщение от gomer Посмотреть сообщение
Владимир Егорьев, зачем вам 2я полилиния? Размножайте первую, у вас логическая ошибка в коде, продумайте тщательно алгоритм действий, лучше запишите... найдите ошибку или спрашивать еще долго будете...
Поясню.
Дело в том что первая и последняя (нет её пока на скринах) грани (слева направо) будущего многогранного профиля имеют размеры меньше чем так называемые основные грани.
Поэтому как я задумал-вначале множу относительно ВТ основные грани,а после этого крайние.
У крайней грани относительная точка центра массива не будет ВТ.Будет другая.
Над алгоритмом кода подумаю.
 
 
Непрочитано 15.05.2011, 16:30
#1483
Владимир Егорьев


 
Сообщений: n/a


gomer

В функции vlax-3d-point я ввёл "ВТ".Это правильно или нет и надо чтобы обязательно был список в виде чисел?

"ВТ"-это точка с координатами которые получаются после клика мышью в граф.редакторе када.
 
 
Непрочитано 15.05.2011, 16:57
#1484
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от Владимир Егорьев Посмотреть сообщение
В функции vlax-3d-point я ввёл "ВТ".Это правильно или нет и надо чтобы обязательно был список в виде чисел?
"BT" - это строка... так нельзя... BT - должен быть списком из 2х или трех чисел... в первом случае третья координата добавляется автоматически в виде нуля
gomer вне форума  
 
Непрочитано 15.05.2011, 17:11
#1485
Владимир Егорьев


 
Сообщений: n/a


Вот я попробовал задать нули (vlax-3d-point 0 0 0) и при выполнении запросов в ком строке не кликал мышью а тоже ввёл нули-результат тот же самый.
Я уверен что у меня проблема в угле.Ниже в коде это пероеменная mu2 с коэффициентом.
Вначале коэффициент был-2.Грани при этом не совмещались.Затем я начал уменьшать этот коэффициент и грани начали стремиться к совмещению как должно быть по второму скриншоту в посте выше.
Код:
[Выделить все]
 (setq massiv1 (vla-arraypolar
			   obj
			   (- ngran 2)
			   (* (* 1.5125 mu2) (- ngran 2))
			   (vlax-3d-point BT)
Вот этот коэффициент 1.5125.Но всё равно задача не решена.Грани не совмещаются идеально.
Вопрос:Когда выполняется массив по кругу,какая точка множиться?Ведь объект должен быть "привязан".Например центр тяжести объекта.

Последний раз редактировалось Владимир Егорьев, 15.05.2011 в 17:19.
 
 
Непрочитано 15.05.2011, 18:01
#1486
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Я же предложил вам продумать алгоритм, а не танцевать с бубном... Конечно точка тут не причем...
И дело не в угле, хотя именно в нем... а в логике программы...
Вы складываете яблоки с грушами... что получаете?
Вы боитесь выложить код полностью... Почему? без кода помочь весьма проблематично... по сути угол заполнения это количество внутренних граней, умноженное на угол между не параллельными сторонами грани... никаких коэффициентов...
gomer вне форума  
 
Непрочитано 15.05.2011, 18:02
#1487
Владимир Егорьев


 
Сообщений: n/a


Код:
[Выделить все]
 (defun c:razvertka ()
  (setq	H1	(getreal "\n Введите высоту элемента конструкции H1=")
	K1	(getreal
		  "\n Введите размер между внутренними поверхностями граней нижнего основания (диаметр для конуса) K1="
		) ;_ конец getreal
	k2	(getreal
		  "\n Введите размер между внутренними поверхностями граней верхнего основания (диаметр для конуса) k2="
		) ;_ конец getreal
	Udugokr	(getreal
		  "\n Введите в градусах значение угла дуги подлежащей развёртыванию Udugokr="
		) ;_ конец getreal
	ngran	(getint
		  "\n Введите количество граней элемента конструкции ngran="
		) ;_ конец getint
	rp	(getreal "\n Введите радиус инструмента (пуансона) rp=")
	tm	(getreal "\n Введите толщину изгибаемого материала tm= ")
	x	(getreal "\n Введите значение коэффициента изгиба x= ")
	BT	(getpoint
		  "\n Введите координаты базовой точки: [можно мышкой] "
		) ;_ конец getpoint
  ) ;_ конец setq
  (if (= 0 ngran)
    (progn (setq alfaradian (/ (* pi Udugokr) 180)
		 KK1	    (- K1 (* 2 (* tm (- 1 x))))
		 kk2	    (- k2 (* 2 (* tm (- 1 x))))
		 Ldug	    (* (* 0.5 kk2) alfaradian)
		 betta1	    (atan (/ (- KK1 kk2) (* 2 H1)))
		 r2	    (/ (* 0.5 kk2) (sin betta1))
		 R1	    (/ (* 0.5 KK1) (sin betta1))
		 betta2	    (* 0.5 (/ Ldug r2))
		 BT1	    (polar BT (- (* 1.5 pi) betta2) r2)
		 BT2	    (polar BT (* 1.5 pi) r2)
		 BT3	    (polar BT (+ (* 1.5 pi) betta2) r2)
		 BT4	    (polar BT (- (* 1.5 pi) betta2) R1)
		 BT5	    (polar BT (* 1.5 pi) R1)
		 BT6	    (polar BT (+ (* 1.5 pi) betta2) R1)
	   ) ;_ конец setq
	   (vl-cmdf "_.ARC" BT1 BT2 BT3 "_.ARC" BT4 BT5 BT6)
	   (vl-cmdf "_.line" BT1 BT4 "")
	   (vl-cmdf "_.line" BT3 BT6 "")
	   (vl-cmdf "_.zoom" "_E")
    ) ;_ конец command
    (progn (setq Y1		  (/ 360 (* 2 ngran))
		 Y1rad		  (/ (* Y1 pi) 180)
		 SS1		  (- K1 (* 2 (* tm (- 1 x))))
		 ss2		  (- k2 (* 2 (* tm (- 1 x))))
		 Rgib		  (+ rp (* tm x))
		 ost		  (- (/ Rgib (cos Y1rad)) Rgib)
		 Y2rad		  (* 2 Y1rad)
		 Lduggib	  (* (+ Rgib x) Y2rad)
		 Lgran1		  (- (* 2 (* (/ (* 0.5 SS1) (cos Y1rad)) (sin Y1rad)))
				     (* (+ rp x) Y2rad)
				  ) ;_ конец -
		 lgran2		  (- (* 2 (* (/ (* 0.5 ss2) (cos Y1rad)) (sin Y1rad)))
				     (* (+ rp x) Y2rad)
				  ) ;_ конец -
		 L1kraingran	  (+ Lgran1 (* 0.5 Lduggib))
		 l2kraingran	  (+ lgran2 (* 0.5 Lduggib))
		 L1osngran	  (+ Lgran1 Lduggib)
		 l2osngran	  (+ lgran2 Lduggib)
		 betta3		  (atan (/ (- SS1 ss2) (* 2 H1)))
		 Visotagrani	  (/ H1 (cos betta3))
		 Raznicakraingran (/ (- L1kraingran l2kraingran) 2)
		 Raznicaosngran	  (/ (- L1osngran l2osngran) 2)
		 D1		  (- (/ SS1 (cos Y1rad) (* 2 ost)))
		 d2		  (- (/ ss2 (cos Y1rad) (* 2 ost)))
		 P1		  (/ (- D1 d2) 2)
		 Lrebra		  (sqrt (+ (* P1 P1) (* H1 H1))) ; _
					; конец
					; sqrt
		 mu1		  (atan (/ Raznicakraingran Visotagrani))
		 mu2		  (atan (/ Raznicaosngran Visotagrani))
		 betta4		  (atan (/ (- D1 d2) (* 2 H1)))
		 Sh		  (/ (* 0.5 d2) (sin betta4))
		 BT7		  (polar BT (* 1.5 pi) Sh)
		 BT8		  (polar BT7 (+ (* 2 pi) mu2) l2osngran)
		 BT9		  (polar BT7 (* 1.5 pi) Lrebra)
		 BT10		  (polar BT9 (+ (* 2 pi) mu2) L1osngran)
		 BT11		  (polar BT7 (- (+ pi (* 2 pi)) mu1) l2kraingran)
		 BT12		  (polar BT9 (- (+ pi (* 2 pi)) mu1) L1kraingran)
	   ) ;_ конец setq
	   (vl-cmdf "_.pline" BT7 "_w" 0.1 0.1 BT8 BT10 BT9 BT7 "")
	   (setq ee1 (entlast))
	   (vl-cmdf "_.pline" BT7 "_w" 0.1 0.1 BT11 BT12 BT9 BT7 "")
	   (setq ee2 (entlast))
	   (setq obj (vlax-ename->vla-object ee1))
	   (setq massiv1 (vla-arraypolar
			   obj
			   (- ngran 2)
			   (* (* 1.5125 mu2) (- ngran 2))
			   (vlax-3d-point BT)
			 ) ;_ конец vla-arraypolar
	   ) ;_ конец setq
	   (vlax-safearray->list (vlax-variant-value massiv1))
	   (vl-cmdf "_.zoom" "_E")
    ) ;_ конец if
  ) ;_ конец defun  
) ;_ конец defun
Добавил

Закоментируйте

Код:
[Выделить все]
  (vl-cmdf "_.pline" BT7 "_w" 0.1 0.1 BT11 BT12 BT9 BT7 "")
	   (setq ee2 (entlast))
Эта часть пока не нужна.Это для крайних граней.

Добавлено №2

У меня угол массива (сектора)-это угол между стронами трапеции (2*mu2) умноженный на количество граней (количество трапеций) без двух крайних,т.е. ngran минус 2.
mu2-это угол между высотой трапеции и одной стороной,поэтому я mu2 умножаю на два.

Последний раз редактировалось Владимир Егорьев, 15.05.2011 в 18:11.
 
 
Непрочитано 15.05.2011, 18:40
#1488
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


угу... а какие у вас исходные данные?
gomer вне форума  
 
Непрочитано 15.05.2011, 18:43
#1489
Владимир Егорьев


 
Сообщений: n/a


Я тестировал с H1=1000 K1=500 k2=250 Udugokr=360 ngran=6 rp=5 tm=5 x=0.5

Добавлено.

Я не исключаю и мат ошибку,но это мало вероятно.Хотя не знаю.
 
 
Непрочитано 15.05.2011, 19:22
#1490
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Померяйте расстояния от точек граней до центра развертки (базовой точки)... они не равны... в этом случае развертка и не сойдется идеально

даже так:
Код:
[Выделить все]
 (setq massiv1 (vla-arraypolar
			   obj
			   (- ngran 2)
			   (* (- (angle bt bt10) (angle bt bt9)) (- ngran 3))
			   (vlax-3d-point BT)
			 ) ;_ конец vla-arraypolar
	   ) ;_ конец setq
gomer вне форума  
 
Непрочитано 15.05.2011, 19:27
#1491
Владимир Егорьев


 
Сообщений: n/a


Ммдауж.

gomer,спасибо

А почему такое получается.Углыже равны

Хотя и углы не равны

Но почему.Ведь прорисовываю с поворотом на один и тотже угол верхнее и нижние основания.

Код:
[Выделить все]
 BT7		  (polar BT (* 1.5 pi) Sh)
		 BT8		  (polar BT7 (+ (* 2 pi) mu2) l2osngran)
		 BT9		  (polar BT7 (* 1.5 pi) Lrebra)
		 BT10		  (polar BT9 (+ (* 2 pi) mu2) L1osngran)
Гдето здесь видимо.


Решение,но 0.3 мм погрешность


Код:
[Выделить все]
 (defun c:razvertka ()
  (setq	H1	(getreal "\n Введите высоту элемента конструкции H1=")
	K1	(getreal
		  "\n Введите размер между внутренними поверхностями граней нижнего основания (диаметр для конуса) K1="
		) ;_ конец getreal
	k2	(getreal
		  "\n Введите размер между внутренними поверхностями граней верхнего основания (диаметр для конуса) k2="
		) ;_ конец getreal
	Udugokr	(getreal
		  "\n Введите в градусах значение угла дуги подлежащей развёртыванию Udugokr="
		) ;_ конец getreal
	ngran	(getint
		  "\n Введите количество граней элемента конструкции ngran="
		) ;_ конец getint
	rp	(getreal "\n Введите радиус инструмента (пуансона) rp=")
	tm	(getreal "\n Введите толщину изгибаемого материала tm= ")
	x	(getreal "\n Введите значение коэффициента изгиба x= ")
	BT	(getpoint
		  "\n Введите координаты базовой точки: [можно мышкой] "
		) ;_ конец getpoint
  ) ;_ конец setq
  (if (= 0 ngran)
    (progn (setq alfaradian (/ (* pi Udugokr) 180)
		 KK1	    (- K1 (* 2 (* tm (- 1 x))))
		 kk2	    (- k2 (* 2 (* tm (- 1 x))))
		 Ldug	    (* (* 0.5 kk2) alfaradian)
		 betta1	    (atan (/ (- KK1 kk2) (* 2 H1)))
		 r2	    (/ (* 0.5 kk2) (sin betta1))
		 R1	    (/ (* 0.5 KK1) (sin betta1))
		 betta2	    (* 0.5 (/ Ldug r2))
		 BT1	    (polar BT (- (* 1.5 pi) betta2) r2)
		 BT2	    (polar BT (* 1.5 pi) r2)
		 BT3	    (polar BT (+ (* 1.5 pi) betta2) r2)
		 BT4	    (polar BT (- (* 1.5 pi) betta2) R1)
		 BT5	    (polar BT (* 1.5 pi) R1)
		 BT6	    (polar BT (+ (* 1.5 pi) betta2) R1)
	   ) ;_ конец setq
	   (vl-cmdf "_.ARC" BT1 BT2 BT3 "_.ARC" BT4 BT5 BT6)
	   (vl-cmdf "_.line" BT1 BT4 "")
	   (vl-cmdf "_.line" BT3 BT6 "")
	   (vl-cmdf "_.zoom" "_E")
    ) ;_ конец command
    (progn (setq Y1		  (/ 360.0 (* 2.0 ngran))
		 Y1rad		  (/ (* Y1 pi) 180.0)
		 SS1		  (- K1 (* 2.0 (* tm (- 1 x))))
		 ss2		  (- k2 (* 2.0 (* tm (- 1 x))))
		 Rgib		  (+ rp (* tm x))
		 ost		  (- (/ Rgib (cos Y1rad)) Rgib)
		 Y2rad		  (* 2.0 Y1rad)
		 Lduggib	  (* (+ Rgib x) Y2rad)
		 Lgran1		  (- (* 2.0 (* (/ (* 0.5 SS1) (cos Y1rad)) (sin Y1rad)))
				     (* (+ rp x) Y2rad)
				  ) ;_ конец -
		 lgran2		  (- (* 2.0 (* (/ (* 0.5 ss2) (cos Y1rad)) (sin Y1rad)))
				     (* (+ rp x) Y2rad)
				  ) ;_ конец -
		 L1kraingran	  (+ Lgran1 (* 0.5 Lduggib))
		 l2kraingran	  (+ lgran2 (* 0.5 Lduggib))
		 L1osngran	  (+ Lgran1 Lduggib)
		 l2osngran	  (+ lgran2 Lduggib)
		 betta3		  (atan (/ (- SS1 ss2) (* 2.0 H1)))
		 Visotagrani	  (/ H1 (cos betta3))
		 Raznicakraingran (/ (- L1kraingran l2kraingran) 2.0)
		 Raznicaosngran	  (/ (- L1osngran l2osngran) 2.0)
		 Lrebra		  (sqrt	(+ (* Visotagrani Visotagrani)
					   (* Raznicaosngran Raznicaosngran)
					) ;_ конец +
				  )	; _
					; конец
					; sqrt
		 mu1		  (atan (/ Raznicakraingran Visotagrani))
		 mu2		  (atan (/ Raznicaosngran Visotagrani))
		 betta4		  (atan (/ (- D1 d2) (* 2.0 H1)))
		 Sh		  (/ (* 0.5 d2) (sin betta4))
		 BT7		  (polar BT (* 1.5 pi) Sh)
		 BT8		  (polar BT (+ (* 1.5 pi) (* 2 mu2)) Sh)
		 BT9		  (polar BT (* 1.5 pi) (+ Sh Lrebra))
		 BT10		  (polar BT (+ (* 1.5 pi) (* 2 mu2)) (+ Sh Lrebra))
;;;		 BT11		  (polar BT7 (- (+ pi (* 2.0 pi)) mu1) l2kraingran)
;;;		 BT12		  (polar BT9 (- (+ pi (* 2.0 pi)) mu1) L1kraingran)
	   ) ;_ конец setq
	   (vl-cmdf "_.pline" BT7 "_w" 0.1 0.1 BT8 BT10 BT9 BT7 "")
	   (setq ee1 (entlast))
;;;	   (vl-cmdf "_.pline" BT7 "_w" 0.1 0.1 BT11 BT12 BT9 BT7 "")
;;;	   (setq ee2 (entlast))
	   (setq obj (vlax-ename->vla-object ee1))
	   (setq
	     massiv1 (vla-arraypolar
		       obj
		       (- ngran 2.0)
		       (* (- (angle bt bt10) (angle bt bt9)) (- ngran 3.0))
		       (vlax-3d-point BT)
		     ) ;_ конец vla-arraypolar
	   ) ;_ конец setq
	   (vlax-safearray->list (vlax-variant-value massiv1))
	   (vl-cmdf "_.zoom" "_E")
    ) ;_ конец if
  ) ;_ конец defun  
) ;_ конец defun

Последний раз редактировалось Владимир Егорьев, 15.05.2011 в 20:33.
 
 
Непрочитано 15.05.2011, 20:52
#1492
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


ну вот наколдовали полтора землекопа
Цитата:
(- ngran 2.0)
У каждой грани есть есть ось симметрии, от нее и нужно откладывать симметрично половинки оснований
gomer вне форума  
 
Непрочитано 16.05.2011, 14:50
#1493
Aminka

проектировщик CТБ
 
Регистрация: 03.03.2009
Сообщений: 28


Спасибо всем за ответы. Поделюсь результатами - мало ли, может кому будт интересно, хотя на форуме таких программулин наверянка уже тьма тьмущая. Ногами не бить, делала для своих скромных целей.
Это первичный вариант программки, которая чуточку упрощает работу по созданию кабельных журналов для адресных систем сигнализации.
Если будут какие комментарии и советы (кроме длины и разбиения на отдельные мелкие функции для удобочитаемости) - буду рада.



А еще у меня есть вопрос. Пыталась воспользоваться диалогом getfilеd. Решила поиграться с диалогом и вместо "Открыть" нажала "Отмена". Результат странный - лисп подвис. Почему такое может быть и чем лучше пользоваться?
Вложения
Тип файла: lsp ru-cabjur.LSP (6.6 Кб, 54 просмотров)
Aminka вне форума  
 
Непрочитано 17.05.2011, 03:23
#1494
Кулик Алексей aka kpblc
Moderator

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


Проверяй, что возвращет getfiled. У тебя нет этой проверки, поэтому лисп и "сошел с ума".
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 21.05.2011, 20:04
#1495
Владимир Егорьев


 
Сообщений: n/a


gomer

Вот как получается крайняя грань.Это правильно.Так и должно быть.Скриншот №1.
Но теперь я не знаю как сделать чтобы получилось как на скриншоте №2
Миниатюры
Нажмите на изображение для увеличения
Название: Чертеж1-Model.jpg
Просмотров: 70
Размер:	16.4 Кб
ID:	60055  Нажмите на изображение для увеличения
Название: Чертеж1-Model2.jpg
Просмотров: 69
Размер:	16.5 Кб
ID:	60056  
 
 
Непрочитано 21.05.2011, 20:13 резиновая линия в режиме ortho
#1496
mix_75


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


Здравствуйте! Я профан в ЛИСПЕ. У меня такая проблема: имеются два блока, в виде квадратиков с торчащими навстречу друг другу пририсованными каждому квадратику отрезками. Я рисую линию, либо полилинию от одного конца отрезка первого квадрата к концу отрезка второго. Далее, двигаю один из блоков в вертикальном направлении, причем выделяя его мышкой. Линия должна тянуться вслед блоку. Это для начала. Более сложная задача - линия должна тянуться в режиме "ortho", и "ломаться" с радиусами сама. Причем, изначально вертикальные координаты концов отрезков могут не совпадать.
Просьба: подскажите, пожалуйста, набор и последовательность функций, которыми мне гипотетически надо владеть для этой задачи. Код, пожалуйста, не пишите.
Миниатюры
Нажмите на изображение для увеличения
Название: Точечный рисунок3.JPG
Просмотров: 76
Размер:	6.6 Кб
ID:	60057  
mix_75 вне форума  
 
Непрочитано 21.05.2011, 22:36
#1497
Владимир Егорьев


 
Сообщений: n/a


mix_75

Я тоже не опытный лиспер,но хочу поделиться рекомендациями,которые мне в своё время дал Кулик Алексей aka kpblc.Он посоветовал книгу AutoLISP и Visual LISP в среде AutoCAD.Автор Н.Полещук.Я не знаю какими сегодня можно обзавестись книгами.Я эту купл в 2006 году.
Заказывал в интернет магазине OZON.
 
 
Непрочитано 22.05.2011, 10:47
#1498
mix_75


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


Да, такая книжка у меня имеется.
mix_75 вне форума  
 
Непрочитано 22.05.2011, 11:43
#1499
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от Владимир Егорьев Посмотреть сообщение
Но теперь я не знаю как сделать чтобы получилось как на скриншоте №2
хм, судя по картинкам нужно зеркалить vla-Mirror относительно оси симметрии, как я понимаю она может быть либо на оси средней грани, либо на ребре граней, если их четное количество. Полярный массив не подойдет, ибо крайняя грань смещена относительно центра
gomer вне форума  
 
Непрочитано 22.05.2011, 12:34
#1500
Владимир Егорьев


 
Сообщений: n/a


gomer

А как-нибудь виртуальную биссектрису угла можно сделать,аналогично виртуальной точки BT?
 
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Научите лиспу на примере (или как kpblc, VVA и компания пытаются обучить чайника лиспу)

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LISP. Вставка в таблицу поля, соотвествующего площади примитива Profan Готовые программы 272 06.06.2021 23:12
Сейсмозащита и сейсмоизоляция существующих, построенных зд. IANationalInformAgentstvo Прочее. Архитектура и строительство 216 20.01.2015 16:51
Мониторы LCD CRT Разное 94 17.06.2008 10:51
ЮМОР 2006 =) Perezz!! Разное 1122 04.01.2007 00:46