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

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

Как получить контур полилинии с различной шириной

Ответ
Поиск в этой теме
Непрочитано 01.02.2007, 10:59 #1
Как получить контур полилинии с различной шириной
Marina
 
конструктор
 
Москва
Регистрация: 15.12.2005
Сообщений: 18

Добрый день!

Столкнулась с такой задачей - есть полилиния с различными значениями ширины (width) в начале и конце. С помощью этой полилинии изображается скажем кованое изделие. И нужно получить контур этой полилинии, то есть заливку (закрашивание) удалить или скрыть, оставить только непосредственно границы (контур).

Скажите, пожалуйста, есть ли какой-нибудь способ этого добиться, скажем используя Express, Toolpac или может даже стандартный акад.

заранее спасибо
Просмотров: 5729
 
Непрочитано 01.02.2007, 11:06
#2
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


Переменную FILLMODE в 0 и регенерировать чертеж.
Хмурый вне форума  
 
Непрочитано 01.02.2007, 11:09
#3
Кулик Алексей aka kpblc
Moderator

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


Если надо просто снести ширину, можно использовать нечто типа:
Код:
[Выделить все]
(defun c:w0 (/ adoc selset)
  (vl-load-com)
  (vla-startundomark
    (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
    ) ;_ end of vla-StartUndoMark
  (if (setq selset (ssget "_:L" '((0 . "*POLYLINE"))))
    (foreach item (mapcar 'vlax-ename->vla-object
                          (vl-remove-if 'listp (mapcar 'cadr (ssnamex selset)))
                          ) ;_ end of mapcar
      (if (vlax-property-available-p item 'constantwidth t)
        (vl-catch-all-apply '(lambda () (vla-put-constantwidth item 0.)))
        ) ;_ end of if
      ) ;_ end of foreach
    ) ;_ end of if
  (vla-endundomark adoc)
  (princ)
  ) ;_ end of defun
Можно также попробовать flatten либо overkill из ExpressTools, к примеру...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 01.02.2007, 12:49
#4
Кочетков Андрей

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


Toolpac
Команда PWO
Кочетков Андрей вне форума  
 
Автор темы   Непрочитано 09.02.2007, 00:45
#5
Marina

конструктор
 
Регистрация: 15.12.2005
Москва
Сообщений: 18


Спасибо большое

fillmode в 0 помогает только для прямолинейных сегментов, в случае дуговых - остаются полоски, да и работать с контуром тут нельзя

а вот Toolpac команда pwo позволяет получить именно контур, который потом можно редактировать (правда только при шибко большом желании - точек там тьма получается)
Marina вне форума  
 
Непрочитано 26.12.2008, 09:16
#6
skifff

Архитектор
 
Регистрация: 11.02.2008
Алматы
Сообщений: 104


Цитата:
Сообщение от Marina Посмотреть сообщение
Спасибо большое

fillmode в 0 помогает только для прямолинейных сегментов, в случае дуговых - остаются полоски, да и работать с контуром тут нельзя

а вот Toolpac команда pwo позволяет получить именно контур, который потом можно редактировать (правда только при шибко большом желании - точек там тьма получается)
где ? Toolpac ? взять ? а потом pwo
skifff вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как получить контур полилинии с различной шириной