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

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

Создание новой полилинии поверх старой по всем узловым точкам

Ответ
Поиск в этой теме
Непрочитано 27.11.2014, 11:48 #1
Создание новой полилинии поверх старой по всем узловым точкам
aydinkhalil
 
Регистрация: 25.11.2014
Сообщений: 14

Добрый день. Задача такая. Есть полилиния. Нарисована и имеет свои поворотные точки. Необходимо нарисовать новую полилинию поверх существующей. Новая должна повторять все узлы старой. В случае если узлов не много можно пройтись по всем, а вот если узлов много (например 150) то уже немного не удобно. Какие есть инструменты в AUTO Cad для решения данной проблемы. В ГИС системах при рисовании полилинии достаточно было указать начало полилинии зажать shift и указать конец. И новая полилиния полностью повторяла старую. Я уверен что решение этой проблемы есть только не знаю где её искать. Спасибо за помощь.
Просмотров: 4370
 
Непрочитано 27.11.2014, 11:52
#2
Кулик Алексей aka kpblc
Moderator

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


А что, просто копирование объекта не катит?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 27.11.2014, 12:34
#3
aydinkhalil


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


К сожалению нет. Дело в том что старая полилиния нарисована другой программой. Потом импортирована в Автокад и теперь приобрела такие свойства что имеет только цвет и узлы. Но никак не редактируется и не реагирует на утолщение или перекрашивание. Для решения проблемы необходимо поверх нее нарисовать полилинию средствами Автокад и тогда уже работать дальше. Может быть есть другое решение но я пока нашел только такое.
aydinkhalil вне форума  
 
Непрочитано 27.11.2014, 12:37
#4
Хмурый


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


aydinkhalil, любопытно посмотреть на такое диво. файлик с линией приложи
Хмурый вне форума  
 
Непрочитано 27.11.2014, 12:52
#5
trir


 
Регистрация: 18.12.2010
Сообщений: 5,108


_mapimport
trir вне форума  
 
Автор темы   Непрочитано 27.11.2014, 13:03
#6
aydinkhalil


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


Хмурый, к сожалению не могу. Специфика работы такова что все данные хранятся на удаленном сервере и зашифрованы. Система так настроена что пользователь (в данном случае я) имеет возможность только редактировать файл но не имеет возможности его сохранить, экспортировать и даже сделать снимок экрана. Причина - "секретность"!
aydinkhalil вне форума  
 
Непрочитано 27.11.2014, 13:11
#7
trir


 
Регистрация: 18.12.2010
Сообщений: 5,108


какое название у обекта(линии)?

Последний раз редактировалось trir, 27.11.2014 в 13:17.
trir вне форума  
 
Автор темы   Непрочитано 27.11.2014, 13:43
#8
aydinkhalil


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


LINE Layer: "DESIGN - ROW - Right-of-Way Linework"
Space: Model space
Color: BYLAYER Linetype: "BYBLOCK"
LineWeight: 0.05 mm
Linetype scaling = 0.0100
Handle = 18dfa1
from point, X=0000.00 Y=0000.00 Z= 0000.00
to point, X=0000.00 Y=0000.00 Z= 0000.00
Length = 245.5583, Angle in XY Plane = 136
Delta X =-177.2068, Delta Y = 169.9901, Delta Z = 0.0000

Это информация о линии. Если честно не совсем понял что значит "имя линии". Если ещё что-то нужно могу описать в подробностях.
aydinkhalil вне форума  
 
Непрочитано 27.11.2014, 14:07
#9
Bull

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


Цитата:
Сообщение от aydinkhalil Посмотреть сообщение
Если честно не совсем понял что значит "имя линии".
При выборе с панели свойств что пишется? (отрезок/полилиния/мультилиния/ что-то другое)
__________________
Век живи, век учись - ...
Bull вне форума  
 
Непрочитано 27.11.2014, 14:10
#10
CaMoCAD


 
Регистрация: 25.03.2008
Зелик
Сообщений: 1,600


Цитата:
Сообщение от aydinkhalil Посмотреть сообщение
Задача такая. Есть полилиния.
Цитата:
Сообщение от aydinkhalil Посмотреть сообщение
Это информация о линии.
Ну, так у Вас набор линий, а не полилиния. Какая может быть толщина? Попробуйте объединить линии в полилинию (pedit)
Насчет цвета непонятно.
__________________
* Буква "ё" не используется в тексте исключительно в связи с требованиями ЕСКД.
CaMoCAD вне форума  
 
Непрочитано 27.11.2014, 14:45
#11
BeardMax


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


Если линия замкнута, то просто Boundary.
Если незамкнута, то замкнуть концы отрезком, опять же Boundary, у полученной полилинии убрать ненужный отрезок, который создан на первом этапе.
BeardMax вне форума  
 
Непрочитано 27.11.2014, 15:34
#12
CaMoCAD


 
Регистрация: 25.03.2008
Зелик
Сообщений: 1,600


Цитата:
Сообщение от BeardMax Посмотреть сообщение
Если линия замкнута, то просто Boundary.
Это если только ничего не пересекает эти линии
__________________
* Буква "ё" не используется в тексте исключительно в связи с требованиями ЕСКД.
CaMoCAD вне форума  
 
Непрочитано 27.11.2014, 15:39
#13
BeardMax


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


Цитата:
Сообщение от CaMoCAD Посмотреть сообщение
Это если только ничего не пересекает эти линии
Ну так сначала изолировать нужную линию. А потом уже с ней работать. )
BeardMax вне форума  
 
Непрочитано 27.11.2014, 16:23
#14
CaMoCAD


 
Регистрация: 25.03.2008
Зелик
Сообщений: 1,600


Цитата:
Сообщение от BeardMax Посмотреть сообщение
Ну так сначала изолировать нужную линию
Так она ж не редактируется
__________________
* Буква "ё" не используется в тексте исключительно в связи с требованиями ЕСКД.
CaMoCAD вне форума  
 
Непрочитано 27.11.2014, 16:30
#15
Хмурый


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


мифическая, просто, какая-то линия-полилиния.
Или вовсе "ложки не существует"?
И что за секретная линия, которую нельзя никуда выложить? Линия жизни?
Хмурый вне форума  
 
Непрочитано 27.11.2014, 16:48
#16
Bull

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


Хмурый, автор уже говорил:
Цитата:
Сообщение от aydinkhalil Посмотреть сообщение
Система так настроена что пользователь (в данном случае я) имеет возможность только редактировать файл но не имеет возможности его сохранить, экспортировать и даже сделать снимок экрана.
aydinkhalil, кто там у вас ведает компами, пусть позволит выложить частичку файла ТОЛЬКО с этим примитивом (сохранить как). Если уж "работа стоит", как говорится, противиться не должны.
__________________
Век живи, век учись - ...
Bull вне форума  
 
Автор темы   Непрочитано 27.11.2014, 17:41
#17
aydinkhalil


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


Так насчет линии. При выборе объекта он показывает что выделен весь объект но на самом деле он состоит из нескольких объектов. И одним словом некоторые части в свойствах показываются как 3d polyline а некоторые как line. Выложить не получится потому что получить доступ можно только на уровне высшего руководства. А им как бы без разницы быстро я работаю или нет. Даже если будет 1500 узлов. Даже если это займет месяцы. Но это не суть. Я делаю такой вывод что на линии/полилинии/замкнутой линии/полигоне невозможно делать привязку сразу ко всем узлам при рисовании. Если так то можно и тему закрывать. Конечно надеюсь когда нибудь можно будет найти такой инструмент или функцию.
aydinkhalil вне форума  
 
Непрочитано 27.11.2014, 17:51
#18
Кулик Алексей aka kpblc
Moderator

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


Это группа объектов. pickfirst -> 0 и будешь выделять по одной.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 27.11.2014, 18:42
#19
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


aydinkhalil,
Попробуй отсюда Новые команды для работы с полилинией
1. Сконвертировать 3d polyline в 2d polyline (Команда ConvTo2d)
2. Попробовать объединить 2d полилинии и отрезки командой (Командой PL-CSE)
Обрати внимание на допуск. 0 указывать только если уверен, что в каждой точке начало/конец совпадает
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 28.11.2014, 11:01
#20
skkkk


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


aydinkhalil, очень странное поведение линии... Я сталкивался с такими, импортированными из других программ, но они полностью поддерживались Автокадом, редактировались.
Кулик Алексей aka kpblc, наверное ты хотел сказать PICKSTYLE?
aydinkhalil, хотелось бы посмотреть на дамп (список свойств) данных объектов. Для этого нужно ввестии в командной строке
Код:
[Выделить все]
(entget (car (entsel)) '("*"))
На запрос "Выберите объект" указать тот примитив, что line, и приложить сюда то, что появится в командной строке (для удобства выделения можно нажать F2 и выделить в окне), а потом то же самое с 3D polyline. Затем аналогично, с обоими объектами, но ввести (вставить) в комстроке
Код:
[Выделить все]
(vlax-dump-object (vlax-ename->vla-object (car (entsel))) T)
Должно получиться нечто похожее на это:
((-1 . <Имя объекта: 7ffede41760>) (0 . "LINE") (330 . <Имя
объекта: 7ffff708dd0>) (5 . "15CCDE") (100 . "AcDbEntity") (67 . 0) (410 .
"Model") (8 . "-Стены") (100 . "AcDbLine") (10 5222.44 348.851 0.0) (11 5270.22
348.851 0.0) (210 0.0 0.0 1.0))

; Значения свойств:
; Angle (RO) = 0.0
; Application (RO) = #<VLA-OBJECT IAcadApplication 000000013ffe9e48>
; Delta (RO) = (47.7732 0.0 0.0)
; Document (RO) = #<VLA-OBJECT IAcadDocument 0000000003728700>
; EndPoint = (5270.22 348.851 0.0)
; EntityTransparency = "Послою"
; Handle (RO) = "15CCDE"
; HasExtensionDictionary (RO) = 0
; Hyperlinks (RO) = #<VLA-OBJECT IAcadHyperlinks 000000003250e208>
; Layer = "-Стены"
; Length (RO) = 47.7732
; Linetype = "ByLayer"
; LinetypeScale = 1.0
; Lineweight = -1
; Material = "ByLayer"
; Normal = (0.0 0.0 1.0)
; ObjectID (RO) = 48
; ObjectID32 (RO) = 48
; ObjectName (RO) = "AcDbLine"
; OwnerID (RO) = 47
; OwnerID32 (RO) = 47
; PlotStyleName = "ByLayer"
; StartPoint = (5222.44 348.851 0.0)
; Thickness = 0.0
; TrueColor = #<VLA-OBJECT IAcadAcCmColor 0000000032f94310>
; Visible = -1
; Поддерживаемые методы:
; ArrayPolar (3)
; ArrayRectangular (6)
; Copy ()
; Delete ()
; GetBoundingBox (2)
; GetExtensionDictionary ()
; GetXData (3)
; Highlight (1)
; IntersectWith (2)
; Mirror (2)
; Mirror3D (3)
; Move (2)
; Offset (1)
; Rotate (2)
; Rotate3D (3)
; ScaleEntity (2)
; SetXData (2)
; TransformBy (1)
; Update ()
T

Посмотрим, что можно сделать.
И еще нужно бы проверить, прав ли Алексей: группы это или нет? Если выставить PICKSTYLE в 0, будут ли объекты выбираться по одному?
skkkk вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Создание новой полилинии поверх старой по всем узловым точкам