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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Есть ли оналог переменной MIRRTEXT Для линий?

Есть ли оналог переменной MIRRTEXT Для линий?

Ответ
Поиск в этой теме
Непрочитано 28.04.2005, 06:33 #1
Есть ли оналог переменной MIRRTEXT Для линий?
Rinat
 
Конструктор
 
Алма-Ата
Регистрация: 25.04.2005
Сообщений: 5

На работе создали тип линий для обозначения сварки в чертежах КМД, но при отзеркаливании конструкций линии тоже зеркалятся и приходится выбирать по одной и менять. Так вот есть ли для линий что-либо похожее на MIRRTEXT? :?:
Просмотров: 3609
 
Непрочитано 28.04.2005, 09:52
#2
Лентяй

Project Engineer
 
Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392


Переменной нет, но есть "отзеркаливающий" LISP. Могу поделиться, если узнаю, куда послать.
Лентяй вне форума  
 
Непрочитано 28.04.2005, 09:54
#3
Кулик Алексей aka kpblc
Moderator

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


> Лентяй
Сюда выложить, если не жалко.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 28.04.2005, 10:15
#4
Лентяй

Project Engineer
 
Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392


kpblc, Второй раз повторяю, что лентяй на этой доске - Я. Только Я и больше никто! Так что как поменять местами StartPotnt b EndPoint мог бы сооьразить и сам. А Лиспа - нетути, потому как остался в компьютере по месту прежней работы. Щас попробую наваять. Следите за новостями.
Лентяй вне форума  
 
Непрочитано 28.04.2005, 10:25
#5
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от Лентяй
kpblc, Второй раз повторяю, что лентяй на этой доске - Я. Только Я и больше никто! Так что как поменять местами StartPotnt b EndPoint мог бы сооьразить и сам. А Лиспа - нетути, потому как остался в компьютере по месту прежней работы. Щас попробую наваять. Следите за новостями.
Насчет второй: это я сообразил, но: хоцца повесить это дело на лисп (которого я не знаю). Вот и спросил.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.

Последний раз редактировалось Кулик Алексей aka kpblc, 17.09.2015 в 12:15.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 28.04.2005, 10:42
#6
Лентяй

Project Engineer
 
Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392


Ну вот, наваял. Пользуйтесь, пока я жив и благодарите меня за то, что я есть.
Код:
[Выделить все]
(defun C:MirrLine ( / sp ep)
  (prompt "\nSelect Lines To Mirror")
  (ssget)
  (setq adoc (vla-get-ActiveDocument (vlax-get-acad-object))
          ass (vla-get-ActiveSelectionSet adoc))
  (vlax-for lob ass
    (setq sp (vla-get-StartPoint lob)
            ep (vla-get-EndPoint lob))
    (vla-put-StartPoint lob ep)
    (vla-put-EndPoint lob sp));vlax-for
);end
Лентяй вне форума  
 
Непрочитано 28.04.2005, 11:06
#7
Кулик Алексей aka kpblc
Moderator

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


[sm204]
Нехило!
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 28.04.2005, 12:13
#8
Apelsinov

Проектировщик ВК. LISP-любитель.
 
Регистрация: 15.12.2003
Москва
Сообщений: 1,189
<phrase 1=


>Лентяй, спасибо за хороший пример!

Еще вариант:

Код:
[Выделить все]
;;;реверс для линий и полилиний
(defun c:ARL (/ pline name_pline ass)
  (VL-LOAD-COM)
  (prompt "\nSelect *Lines to reverse:")
  (if (ssget (list (cons 0 "*LINE")))
    (progn
      (setq ass	(vla-get-ActiveSelectionSet
		  (vla-get-ActiveDocument (vlax-get-acad-object))
		)
      )
      (vlax-for	pline ass
	(setq name_pline (vla-get-ObjectName pline))
	(cond ((or (eq "AcDbPolyline" name_pline)
		   (eq "AcDb3dPolyline" name_pline)
	       )
	       (APEL-REVERSE-PLINE pline)
	      )
	      ((eq "AcDbLine" name_pline) (APEL-REVERSE-LINE pline))
	)
      )
    )
  )
  (princ)
)

;;;Аргументы: line - лининия
(defun APEL-REVERSE-LINE (line / sp ep)
  (setq	ep (vla-get-EndPoint line)
	sp (vla-get-StartPoint line)
  )
  (vla-put-StartPoint line ep)
  (vla-put-EndPoint line sp)
)


;;;Аргументы: pline - полининия
(defun APEL-REVERSE-PLINE (pline / safearray-list)
  (vla-put-coordinates
    pline
    (vlax-safearray-fill
      (setq safearray-list
	     (vlax-variant-value (vla-get-coordinates pline))
      )
      (apply 'append
	     (reverse
	       (APEL_SP_PO_N
		 (vlax-safearray->list safearray-list)
		 (cond ((eq "AcDbPolyline"
			    (setq name_pline (vla-get-ObjectName pline))
			)
			2
		       )
		       ((eq "AcDb3dPolyline" name_pline) 3)
		 )
	       )
	     )
      )
    )
  )
)

(DEFUN APEL_SP_PO_N (spis n /)
  (if (and (listp spis)
	   (eq (type n) 'INT)
	   (> n 0)
	   (<= n (length spis))
      )
    (cons
      (APEL_PER_n_IS_SP spis n)
      (APEL_SP_PO_N
	(reverse
	  (APEL_PER_n_IS_SP (reverse spis) (- (length spis) n))
	)
	n
      )
    )
  )
)

;;;Возвращает первые n элементы списка spis
(defun apel_per_N_is_sp	(spis n /)
  (if (and (eq (type n) 'INT) (> n 0) (<= n (length spis)))
    (append (apel_per_N_is_sp spis (1- n))
	    (list (nth (1- n) spis))
    )
  )
)
Apelsinov вне форума  
 
Непрочитано 29.04.2005, 05:22
#9
Vova

Engineer
 
Регистрация: 05.09.2003
New-York
Сообщений: 10,288


Мы часто используем длинные сплайны и дуги, выполненные типом линий с буквами. Можно-ли их поворачивать буквами в правильную сторону?
Vova вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Есть ли оналог переменной MIRRTEXT Для линий?

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

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