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

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

растянуть отрезки до ближайшего пересечения

Ответ
Поиск в этой теме
Непрочитано 29.03.2008, 02:44 #1
растянуть отрезки до ближайшего пересечения
PL
 
California
Регистрация: 23.11.2006
Сообщений: 4,750

мне кажется что _fence хорошее решение, но если вам не нравится, то(vl-load-com)(defun c:test (/ SSE) (command "_.EXTEND" "\\" "") (if (= (logand (getvar 'CMDACTIVE)) 1) (progn (if (setq SSE (ssget (list (cons 0 "LINE,LWPOLYLINE")))) (progn (foreach EntName (vl-remove-if 'listp (mapcar 'cadr (ssnamex SSE))) (command (list EntName (vlax-curve-getStartPoint EntName))) (command (list EntName (vlax-curve-getEndPoint EntName))) ) ) ) (command "") ) ) (princ))

[Re:] PL (2008-03-29 02:32:51) [наверх]
>Vovka (2008-03-29 00:16:08)
Вот тут фаил. Надо растянуть все балки до колон или до ближаиших балок. Код работает на небольшом количестве пересечении (кстати когда вибираешь обьекты рамка на первом выборе не дается, только кликом можно выбрать одиночный обьект), если выбрать все колонны и балки в чертеже, код работает очень долго , фактически нет конца, результат не очень.(часть обьектов не растянута)

Вложения
Тип файла: dwg
DWG 2004
07C146-S3.dwg (139.5 Кб, 314 просмотров)

Просмотров: 2818
 
Непрочитано 29.03.2008, 15:54
#2
Кулик Алексей aka kpblc
Moderator

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


  1. О формате можно и предупредить
  2. Запрашиваемых фонтов лично у меня не нашлось
  3. Внешние ссылки в ауте
  4. Мусор в файле чего делает?
Последовательность "на выбор":
    1. Команда _.extend
    2. Выбрать параллельные ближайшие балки
    3. _fence
    4. отключить osmode ([F3])
    5. выбрать поперечные балки
    1. Удалить все поперечные балки, кроме 1 пролета
    2. Команда _.extend
    3. Выбрать балки по краям здания
    4. Отключить osmode
    5. _fence
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 31.03.2008, 02:05
#3
PL


 
Регистрация: 23.11.2006
California
Сообщений: 4,750


Критика с мусором шрифтами и форматом 2004 полностью принимается.
Что касается стандартнои команды extend. Ну это не совсем то... я не хотел вдаваться в подробности.
И пример дал неудачный. Попробую обьяснить.
Есть план балок и колонн. Его кто то сделал. Все разрывы на глазок. Мне нужно сделать их одинаковыми. Например Разрыв между колоннои и балкой или (балкои и балкои) 6 единиц (масштаб вп 1:100)
На каких то колоннах есть разрыв балок , на каких то нет. В общем случае очень мало одинаковых пролетов. Работая стандартными командами думаю потратишь приличное время делая все разрывы одинаковыми. Vovka любезно дал код как уменьшить все отрезки на нужную величину (этот код мне и для других дел нужен). Теперь я думал про код который сможет в чертеже растянуть все балки до ближайших балок или колонн (что бы потом сделать одинаковые разрывы кодом Vovka)
Так как ты предложил будешь работать очень долго (надо смотреть где балка разорвана на колонне, где нет и т.д.)
Вот я здесь другои условныи чертежик приложил. Скажем это маленькая часть от общего плана, помоему fence не лучшая возможность.
Кстати измененный код Vovka работает нормально с балками, только колонны игнорируются - балки растягиваютсся через них.
Вложения
Тип файла: dwg
DWG 2004
balki-3.dwg (33.9 Кб, 304 просмотров)

Последний раз редактировалось PL, 31.03.2008 в 05:03.
PL вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > растянуть отрезки до ближайшего пересечения



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LISP. Разорвать объекты в точках пересечения. BreakObjects. VVA Готовые программы 110 25.02.2022 07:33
Программа рисующая из отрезки до выбраного отрезка. Mikhail Программирование 8 12.07.2015 16:27
деление множества линий в точках пересечения shurup Программирование 4 24.03.2008 15:11
Линия пересечения объектов в 3d, где она? fefe AutoCAD 3 01.02.2007 11:10