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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Коллинеарное копирование объектов

Коллинеарное копирование объектов

Ответ
Поиск в этой теме
Непрочитано 09.08.2013, 13:12 #1
Коллинеарное копирование объектов
Gravitsapa
 
Регистрация: 18.03.2010
Сообщений: 21

Необходимо копировать обычные прямые таким образом чтобы они находились на одной прямой через заданное расстояние . Типа "офсет@ , но не в бок ,а вперед или назад копировать. можно конечно включить "объектной отслеживание", но оно не удобно. Постоянно пропадает при зуме и т.д.

Первая картинка - чего есть
Вторая - чего хочу получить.

Изображения
Тип файла: jpg что есть.jpg (22.3 Кб, 270 просмотров)
Тип файла: jpg Что надо 2.jpg (45.7 Кб, 240 просмотров)


Последний раз редактировалось Gravitsapa, 09.08.2013 в 15:20.
Просмотров: 3808
 
Непрочитано 09.08.2013, 13:18
#2
Кочетков Андрей

Java/Kotlin/Go
 
Регистрация: 03.02.2006
Сообщений: 5,786


Разворачиваем ПСК вдоль отрезка и Массивом размножаем отрезок
Кочетков Андрей вне форума  
 
Непрочитано 09.08.2013, 13:22
#3
Bull

Конструктор по сути (машиностроитель)
 
Регистрация: 10.10.2005
Набережные Челны (это где КамАЗ)
Сообщений: 11,391


да проще можно. Скопировать первый, enter. Далее просто второй копируем, беря базовую точку на первом, потом указывая точкой вставки аналогичный каждого след-го
__________________
Век живи, век учись - ...
Bull вне форума  
 
Непрочитано 09.08.2013, 13:24
#4
swell{d}

гадание на конечно-элементной гуще
 
Регистрация: 31.05.2006
Düsseldorf
Сообщений: 7,596


обычная пунктирная линия?
__________________
.: WikiЖБК + YouTube :.
swell{d} вне форума  
 
Автор темы   Непрочитано 09.08.2013, 13:26
#5
Gravitsapa


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


Кочетков Андрей
Как вариант конечно. Но тоже не совсем комфортно постоянно крутить, делать копии , а потом обратно крутить ПСК.
Нету ли какого-то совсем простого способа , типа команды "офсет"
Спасибо за ответ.
Gravitsapa вне форума  
 
Непрочитано 09.08.2013, 13:33
#6
Bull

Конструктор по сути (машиностроитель)
 
Регистрация: 10.10.2005
Набережные Челны (это где КамАЗ)
Сообщений: 11,391


типа офсет нет точно, но чем мой метод хуже?

Вот лиспы, возможно, есть уже кем-то сделанные, поищи. Или тут кто напишет
__________________
Век живи, век учись - ...
Bull вне форума  
 
Автор темы   Непрочитано 09.08.2013, 13:58
#7
Gravitsapa


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


Bull
Он хорош, и я им не рас пользовался. Но всегда есть "но". Для копирования первого объекта все равно надо пользоваться "объектным отслеживанием". а это не удобно. В реальной работе помимо объектов которые надо скопировать есть еще куча других объектов , и "объектное отслеживание" может неправильно отследить нужное направление. И зумом нельзя пользоваться при построении чего либо с помощью "объектного отслеживания".
Ваш способ так-же непригоден если копируемые объекты перемещаются не на одно и тоже расстояние (всегда через 500 мм) , а на разные расстояния (500мм, потом 800мм, потом 720мм ).
Gravitsapa вне форума  
 
Непрочитано 09.08.2013, 14:03
#8
Bull

Конструктор по сути (машиностроитель)
 
Регистрация: 10.10.2005
Набережные Челны (это где КамАЗ)
Сообщений: 11,391


понятно. Но такой команды нет. Только лиспом тогда. Причем этот лисп, скорее всего, будет использовать или мой вариант, или метод Кочетков Андрей,
__________________
Век живи, век учись - ...
Bull вне форума  
 
Непрочитано 09.08.2013, 14:19
#9
asys

архитектор
 
Регистрация: 10.08.2005
Ростов-на-Дону
Сообщений: 5,342


с 2012 версии команда "копировать" имеет возможность копировать массивом. См. диалог команды
asys вне форума  
 
Непрочитано 09.08.2013, 14:30
#10
RomaV


 
Регистрация: 21.03.2007
Санкт-Петербург
Сообщений: 2,700


Чего-то вы ребята за работались.
Для той ситуации которая у Gravitsapa на второй картитке вполне подойдёт массив с указанием угула повота вдоль первоначальной линии.
RomaV вне форума  
 
Непрочитано 09.08.2013, 14:35
#11
Bull

Конструктор по сути (машиностроитель)
 
Регистрация: 10.10.2005
Набережные Челны (это где КамАЗ)
Сообщений: 11,391


Цитата:
Сообщение от asys Посмотреть сообщение
с 2012 версии команда "копировать" имеет возможность копировать массивом. См. диалог команды
Массив-то возможен при копировании, но ТС неудобно брать объектную привязку. И не помешало бы, говорит, чтобы на некратные расстояния ещё
Цитата:
вполне подойдёт массив с указанием угула повота
"Угул повота" массива отсутствует. Только прямоугольно. Было ли это в классическом массиве, уже не помню (у меня 2013-й).

PS Прошу прощения, есть, оказывается. Не нашел настройки при построении, но есть в свойствах угол. Но он только угол массива определяет, а не угол распространения. Т.е. по горизонтали не дает повернуть, только по вертикали
__________________
Век живи, век учись - ...

Последний раз редактировалось Bull, 09.08.2013 в 14:50.
Bull вне форума  
 
Автор темы   Непрочитано 09.08.2013, 15:22
#12
Gravitsapa


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


Подредактировал вторую картинку в примере , так правильнее.
Gravitsapa вне форума  
 
Непрочитано 09.08.2013, 23:26
#13
gomer

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


Как-то так...
Код:
[Выделить все]
 (defun test ()

  (vl-load-com)

  (setq en (car (entsel "\nВыберите отрезок: ")))

  (setq en (vlax-ename->vla-object en))

  (while (setq dist (getreal "\nУкажите расстояние: "))
    (setq en (vla-copy en))
    (vla-move
      en
      (vla-get-startpoint en)
      (vlax-3d-point
	(polar
	  (vlax-safearray->list
	    (vlax-variant-value (vla-get-startpoint en))
	  )
	  (vla-get-angle en)
	  (+ dist (vla-get-length en))
	)
      )
    )
  )
)
gomer вне форума  
 
Непрочитано 10.08.2013, 17:04
#14
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,680


gomer, а если захочется в другую сторону? Может, так?
Код:
[Выделить все]
  (defun test ()

  (vl-load-com)

  (setq en (car (entsel "\nВыберите отрезок: ")))

  (setq en (vlax-ename->vla-object en))
  (setq pt0 (vlax-curve-getPointAtParam en 0.5))
  (setq pt (vlax-curve-getClosestPointTo en (getpoint "\nУкажите точку, определяющую сторону смещения: ")))
  (while (setq dist (getreal "\nУкажите расстояние: "))
    (setq en (vla-copy en))
    (vla-move
      en
      (vlax-3d-point pt0)
      (vlax-3d-point
	(polar
	  pt0
	  (angle pt0 pt)
	  (+ dist (vla-get-length en))
	)
      )
    )
  )
  )
skkkk вне форума  
 
Непрочитано 10.08.2013, 19:10
#15
Profan


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


Цитата:
Сообщение от Bull Посмотреть сообщение
но ТС неудобно брать объектную привязку
При чем тут Total Commander?
Profan вне форума  
 
Непрочитано 10.08.2013, 21:17
#16
gomer

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


Цитата:
Сообщение от skkkk Посмотреть сообщение
Может, так?
Может так, а может и так:
Код:
[Выделить все]
 (defun c:CopyLine ( / *error* pick en foo ang sign dist)

  (vl-load-com)
  
  (defun *error* (msg) (princ))

  (setq pick (entsel "\nВыберите отрезок: "))

  (setq
    en  (car pick)
    foo (lambda (x) (distance (cadr pick) (cdr (assoc x (entget en)))))
    ang (if (< (foo 10) (foo 11)) pi 0)
  )
  
  (setq en (vlax-ename->vla-object en))

  (while (setq dist (getreal "\nУкажите расстояние: "))
    (setq en (vla-copy en))
    (vla-move
      en
      (vla-get-startpoint en)
      (vla-PolarPoint
        (vla-get-Utility (vla-get-ActiveDocument (vlax-get-acad-object)))
        (vla-get-startpoint en)
        (+ ang (vla-get-angle en))
        (+ dist (vla-get-length en))
      )
    )
  )
  (princ)
)
gomer вне форума  
 
Непрочитано 11.08.2013, 01:16
#17
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,680


Тоже верно: с какой половины отрезок "пикнешь", с такой и построится, да-да!
skkkk вне форума  
 
Непрочитано 12.08.2013, 08:35
#18
Bull

Конструктор по сути (машиностроитель)
 
Регистрация: 10.10.2005
Набережные Челны (это где КамАЗ)
Сообщений: 11,391


Цитата:
Сообщение от Profan Посмотреть сообщение
При чем тут Total Commander?
Чувство юмора имеется, однако. Как будто и не знает, что ТС - это топик-стартер
__________________
Век живи, век учись - ...
Bull вне форума  
 
Автор темы   Непрочитано 12.08.2013, 15:11
#19
Gravitsapa


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


gomer
Вот спасибо !!!
Сейчас опробуем.
Gravitsapa вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Коллинеарное копирование объектов



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Аттестация в Минрегионе по негосударственной экспертизе Людмила Охр Прочее. Архитектура и строительство 350 14.02.2015 17:50
Lisp. Копирование объектов между точками Yuzer LISP 42 01.10.2013 18:15
Копирование объектов с нажатой клавишей Ctrl AutoCad 2012 Str0nger AutoCAD 6 17.05.2012 09:51
FILTER / фильтр BM60 Справочник команд 0 08.07.2008 15:35