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

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

Как объединит линии в полилинию ?(не замкнутое линии)

Ответ
Поиск в этой теме
Непрочитано 22.12.2004, 20:27 #1
Как объединит линии в полилинию ?(не замкнутое линии)
qkq
 
Azerbaijan
Регистрация: 22.12.2004
Сообщений: 8

Помогите, пожалуйста :?: [/b]
__________________
kamil
Просмотров: 12247
 
Непрочитано 22.12.2004, 21:19
#2
vk

сисадмин
 
Регистрация: 26.08.2003
Самара
Сообщений: 1,022
<phrase 1=


На выбор или PLJOIN из Экспрессов или PEDIT с опцией JOIN
vk вне форума  
 
Непрочитано 23.12.2004, 12:54
#3
MIP

инженер
 
Регистрация: 13.12.2004
Минск
Сообщений: 496


Если линии не имеют общих точек, то опцию join лучше использовать с подопцией Jointype и параеметром Both. Подробнее про опцию Jointype можно прочесть в литературе.
Т.е. вызываешь команду _pedit -> multiple -> Выбираешь линии -> Отвечаешь "да" на вопрос "Сделать ли линии полилиниями" -> join -> Jointype -> Both -> указываешь Enter fuzz distance or [Jointype] <0.0000> отличную от 0, но лучше не более 1 -> жмешь "enter" Вуаля!
__________________
Сейчас такая знаний бездна
доступна всякому уму,
что стало спорить бесполезно
и глупо думать самому.
MIP вне форума  
 
Автор темы   Непрочитано 23.12.2004, 13:26
#4
qkq


 
Регистрация: 22.12.2004
Azerbaijan
Сообщений: 8


Всем большое спасибо. Помогло.
__________________
kamil
qkq вне форума  
 
Непрочитано 23.12.2004, 14:16
#5


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


А оформить это в макросе?

_pedit;_m;\;;_j;_j;_b;\;; - не работает, где ошибка?
 
 
Непрочитано 23.12.2004, 14:43
#6
Torino


 
Регистрация: 21.08.2003
Штаб
Сообщений: 943
<phrase 1=


Лучше так: select;\pedit;m;p;;j;;;
Torino вне форума  
 
Непрочитано 23.12.2004, 15:04
#7


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


select;\pedit;m;p;;;j;;;
Спасибо. А что неправильно в вышенаписанном?
 
 
Непрочитано 23.12.2004, 15:46
#8
Torino


 
Регистрация: 21.08.2003
Штаб
Сообщений: 943
<phrase 1=


Нет, именно select;\pedit;m;p;;j;;;
Насчет ошибки: непонятно зачем два j, что такое b и вообще непонятна логика работы того макроса.
Torino вне форума  
 
Непрочитано 23.12.2004, 16:52
#9


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


Если
Цитата:
именно select;\pedit;m;p;;j;;;
то макрос останавливается на:
  • Convert Lines and Arcs to polylines [Yes/No]? <Y> j
    Yes or No, please.
Если select;\pedit;m;p;;;j;;; то работает до конца.

Я пытался сделать по алгоритму MIP:
Цитата:
вызываешь команду _pedit -> multiple -> Выбираешь линии -> Отвечаешь "да" на вопрос "Сделать ли линии полилиниями" -> join -> Jointype -> Both -> указываешь Enter fuzz distance or [Jointype] <0.0000> отличную от 0, но лучше не более 1 -> жмешь "enter"
т.е. pedit;m;\;;j;j;b;\;;
 
 
Непрочитано 23.12.2004, 17:27
#10
Torino


 
Регистрация: 21.08.2003
Штаб
Сообщений: 943
<phrase 1=


А теперь попробуй объединить полилинии твоим макросом.
Результат - ошибка.

Посади на кнопочку такой макрос:
^P(setq ss (ssget '((0 . "*line,polyline,arc"))))(vl-cmdf "_.pedit" "_m" ss "" "y" "j" "0.0001" "")(setq ss nil)(princ)

Будет работать и линиями и с полилиниями, с пре- и пост- выделением объектов.
Torino вне форума  
 
Непрочитано 23.12.2004, 17:38
#11


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


2 Torino: Спасибо!
 
 
Непрочитано 24.12.2004, 09:58
#12
MIP

инженер
 
Регистрация: 13.12.2004
Минск
Сообщений: 496


Цитата:
^P(setq ss (ssget '((0 . "*line,polyline,arc"))))(vl-cmdf "_.pedit" "_m" ss "" "y" "j" "0.0001" "")(setq ss nil)(princ)
Вся прелесть этого макроса, то, что он отвечает на вопрос "сделать примитив полилинией" "Да", все остальное остается по старой схеме
__________________
Сейчас такая знаний бездна
доступна всякому уму,
что стало спорить бесполезно
и глупо думать самому.
MIP вне форума  
 
Непрочитано 24.12.2004, 11:38
#13
Torino


 
Регистрация: 21.08.2003
Штаб
Сообщений: 943
<phrase 1=


>>MIP
И что?
Torino вне форума  
 
Непрочитано 27.12.2004, 12:42
#14
MIP

инженер
 
Регистрация: 13.12.2004
Минск
Сообщений: 496


>>Torino
Из всей последоваетльности убирается только пару действий, "Выбор режима редактирования нескольких полилиний" и "подтверждение приеобразования примитивов в полилинии". Логично было бы продолжить и сразу же прописать выбор опции "Добавить". Если в выборе только полилинии, функция вообще не отрабатывает.
__________________
Сейчас такая знаний бездна
доступна всякому уму,
что стало спорить бесполезно
и глупо думать самому.
MIP вне форума  
 
Непрочитано 27.12.2004, 14:01
#15
Torino


 
Регистрация: 21.08.2003
Штаб
Сообщений: 943
<phrase 1=


Цитата:
Сообщение от MIP
Логично было бы продолжить и сразу же прописать выбор опции "Добавить".
Это что за опция такая?
Цитата:
Сообщение от MIP
Если в выборе только полилинии, функция вообще не отрабатывает.
MIP, если только у тебя не лайт версия Автокада, то этот макрос должен работать, как надо, и отрабатывать любые сочетания.
Torino вне форума  
 
Непрочитано 27.12.2004, 15:56
#16
Vova

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


Напоминаю, что в 2004 появилась переменная Peditaccept, которая в зависимости от ее значения может исказить работу макроса
Vova вне форума  
 
Непрочитано 27.12.2004, 16:06
#17
MIP

инженер
 
Регистрация: 13.12.2004
Минск
Сообщений: 496


>>Torino
Цитата:
MIP :
Логично было бы продолжить и сразу же прописать выбор опции "Добавить".

Это что за опция такая?
Это перевод с ангельской мовы в Автокаде 2004 (рус) (официальная локализация) пукта Join в команде pedit
Может Vova прав и в Автокаде 2004 из за переменной Peditaccept что идет не так как хотелось автору, но у меня макрос работает только если в наборе есть хотя бы один примитив не полилиния. В общем надо разобраться!
__________________
Сейчас такая знаний бездна
доступна всякому уму,
что стало спорить бесполезно
и глупо думать самому.
MIP вне форума  
 
Непрочитано 30.03.2007, 11:57
#18
Protreck

Engeneering
 
Регистрация: 28.03.2007
Симферополь
Сообщений: 53
<phrase 1=


Очень интересная тема, но у меня почему-то не получается воспользоваться командами Join и pljoin. может быть они не работают в Acad 2006?
Protreck вне форума  
 
Непрочитано 30.03.2007, 12:13
#19
Кулик Алексей aka kpblc
Moderator

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


Все работает. Если версия не английская, вводим имена команд со знаком "_" перед ними.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 30.03.2007, 12:33
#20
taras

конструктор
 
Регистрация: 27.10.2005
Сообщений: 530


Хороший макрос

На кнопочку получилось поставить
А как его в лисп файл ввести
сделал для себя несколько макросов
(defun C:jkl ()
(command "_lengthen" "de")
)
а вот этот что-то не получается добавить
taras вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как объединит линии в полилинию ?(не замкнутое линии)