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

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

Построение линий в центре окружностей и дуг

Ответ
Поиск в этой теме
Непрочитано 13.07.2022, 12:54 #1
Построение линий в центре окружностей и дуг
olga87
 
Регистрация: 28.05.2007
Сообщений: 208

Здравствуйте Уважаемые специалисты Nanocad!

Помогите пожалуйста исправить код ниже, чтобы линии, которые строятся в центре окружностей и дуг ориентировались параллельно осям текущей системы координат. Сейчас код работает только в МСК.
Заранее спасибо!

Код:
[Выделить все]
(defun c:CIRCEN ()
  (if (= (getvar 'dimcen) 0)
    (alert "Системная переменная DIMCEN не должна быть нуль.")
    (c:CIRCEN1)
  )
)

(defun c:CIRCEN1 (/ #osmode #rad #p1 #cen #diam qy+ qy- qx+ qx- #ss #sel loop qtde ent #e1)
(command "_undo" "_begin")
(setvar "cmdecho" 0)
(setq #osmode (getvar "osmode"))
(setvar "osmode" 0)
(princ "\n Insert Centerline into Circles and Arcs... ")
(setq loop 0)
(prompt "\n Select the Arc(s) or Circle(s):")
(setq #sel (ssget (list (cons 0 "ARC,CIRCLE"))))
(if #sel
(progn
(setq qtde (sslength #sel))
(repeat qtde
(setq ent (ssname #sel loop))
(setq #e1 (entget ent))
(setq tipo (strcase (cdr (assoc 0 #e1))))
(if (or (= tipo "CIRCLE")(= tipo "ARC"))
(progn
(setq #rad (getvar "dimcen"))
(setq #cen (cdr (assoc 10 #e1)))
(setq qy+ (polar #cen 1.5708 #rad))
(setq qy- (polar #cen 4.71239 #rad))
(setq qx+ (polar #cen 0 #rad))
(setq qx- (polar #cen 3.14159 #rad))
(setq #ss (ssadd))
(command "_line" qy+ qy- "")
(setq #ss (ssadd (entlast) #ss))
(command "_line" qx+ qx- "")
(setq #ss (ssadd (entlast) #ss))
(setq loop (+ loop 1))
)
)
)
)
)
(setvar "osmode" #osmode)
(command "_undo" "_end")
(princ))
Просмотров: 1364
 
Непрочитано 14.07.2022, 14:16
#2
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,678



эммм, нанокад???
Код:
[Выделить все]
 (defun c:center_crossline (/ ename_index ignore_empty_sset arc_circle_sset arc_circle_object)
	(if (zerop (getvar 'dimcen)) (setvar 'dimcen 2.5))
	(repeat (sslength (setq ename_index -1
							ignore_empty_sset (while (null (setq arc_circle_sset (vl-catch-all-apply 'ssget (list '((0 . "circle,arc")))))))
							arc_circle_sset (cond
													(
														(vl-catch-all-error-p arc_circle_sset)
															(princ "\nОтмена команды")
															(ssadd)
													)
													(
														t
															arc_circle_sset
													)
									  		)
					   )
			)
			(setq arc_circle_object (vlax-ename->vla-object (ssname arc_circle_sset (setq ename_index (1+ ename_index)))))
    		(vla-addline (vla-get-block (vla-get-activelayout (vla-get-activedocument (vlax-get-acad-object))))
						 (vlax-3d-point (polar (vlax-get arc_circle_object 'center) (angle (getvar 'ucsxdir)' (0 0 0)) (getvar 'dimcen)))
						 (vlax-3d-point (polar (vlax-get arc_circle_object 'center) (angle '(0 0 0) (getvar 'ucsxdir)) (getvar 'dimcen)))
			)
    		(vla-addline (vla-get-block (vla-get-activelayout (vla-get-activedocument (vlax-get-acad-object))))
						 (vlax-3d-point (polar (vlax-get arc_circle_object 'center) (angle (getvar 'ucsydir)' (0 0 0)) (getvar 'dimcen)))
						 (vlax-3d-point (polar (vlax-get arc_circle_object 'center) (angle '(0 0 0) (getvar 'ucsydir)) (getvar 'dimcen)))
			)
	)
	(princ)
)
Миниатюры
Нажмите на изображение для увеличения
Название: уважаемые.jpg
Просмотров: 104
Размер:	21.8 Кб
ID:	248637  

Последний раз редактировалось koMon, 15.07.2022 в 14:39.
koMon вне форума  
 
Автор темы   Непрочитано 14.07.2022, 15:01
#3
olga87


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


Спасибо!
olga87 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Построение линий в центре окружностей и дуг

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Построение линий по точкам в разных слоях dj_faq_bam Программирование 7 25.04.2022 08:34
Какой язык перспективен для инженера-конструктора с условием The_Mercy_Seat Программирование 705 17.03.2021 14:19
Как удалить тип линии Tolyanovich AutoCAD 48 20.11.2014 09:24
Построение линий влияния в ЛИРЕ МишаИнженер Лира / Лира-САПР 2 20.08.2012 19:53
Проблема с автокадом. Построение линий. Эдвард AutoCAD 12 16.05.2007 21:15