|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
|
||||
джедай Регистрация: 31.01.2005
Магадан
Сообщений: 460
![]() |
|
|||
![]() |
|
||||
джедай Регистрация: 31.01.2005
Магадан
Сообщений: 460
![]() |
Цитата:
нужно использовать команду pline-strPE? попробовал просто начертить полилинию и добавить в нее вершину - не получилось вот хистори: Код:
если в файле с ПСК: Код:
|
|||
![]() |
|
||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
Я, конечно, понимаю, что яичко дорого к Христову дню, но вот недосуг было поразвлекаться с программой уважаемого Елпанова Евгения. А поразвлекаться руки чесались - уж больно она у него нерационально построена и избыточна. Вот что получилось:
Код:
Код:
Код:
|
|||
![]() |
|
||||
Цитата:
![]() Если вы читали тему, в которой она родилась - заметили, что паралельно писалось две программы - Алексеем и мной. Программа, которую разработал kpblc пошла в народ, а я, на свою забил - сначала отвлекся, а потом стало недосуг... То, что выложил ее на этом форуме, было ошибкой - я совсем забыл, в какой она стадии - только помнил, что там изменяется полилиния, а не пересоздается - т.е. ассоциативность обязанна сохраниться ![]() |
||||
![]() |
|
||||
Посмотрел вашу программу и понял ваши слова о избыточности! В отличие от вашего варианта, она коректно работает с полилиниями имеющими дуговые сегменты и переменную ширину каждого сегмента...
Для решения задач, поставленных в этой теме, такие вещи не нужны! Здесь конкретная задача - все сегменты линейные! Моя же программа, вычисляет ширину сегмента в любой добавляемой точке и новые тангенсы для получившихся сегментов ![]() |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
>Лентяй
>Елпанов Евгений Ребята большое спасибо, сбылась моя мечта иметь ф-цию, добавляющую вершину в полилинию без Pedit и Strech. Немного критики: Лентяй оправдывает свой ник, команда отрабатывает 1 раз в одном сеансе :wink: Зато использование этого кода позволили отказаться от кучи ф-ций. >Димас Теперь я ф-цию LIB:PT_EXTENTS исключил за ненадобностью [ATTACH]1151791306.rar[/ATTACH] |
|||
![]() |
|
|||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
Цитата:
Цитата:
![]() Код:
Цитата:
![]() > VVA Цитата:
![]() |
||||
![]() |
|
||||
>Лентяй
Что то у меня не получается изменить полилинию с дуговыми сегментами, вашей новой программой... Полилинию перекручивает. ![]() Вот полилиния, с которой я пробовал вашу программу: Код:
[ATTACH]1151859725.jpg[/ATTACH] |
||||
![]() |
|
||||
джедай Регистрация: 31.01.2005
Магадан
Сообщений: 460
![]() |
to VVA
спасибо пробовал вашу последнюю программу - работает: работает и в 3Д и связь с штриховкой не теряется есть только одна маленькая просьба после добавления новой вершины, штриховка "забывает" заливаться дальше, приходится брать любую их вершин полилинии и переносить ее в любое место, затем возвращать обратно, тогда весь контур полилиниии заливается штриховкой можно ли сделать так чтоб штриховка обновлялась сама? |
|||
![]() |
|
||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
Цитата:
![]() Код:
Код:
Код:
Какая уже говорил, моя цель была показать, что (1) решать задачу добавления вершины в полилинию средствами ActiveX намного проще, чем AutoLISP'ом и (2) опреции общего характера следует выносить за границы конкретных условий, всегда, когда это возможно. Результат, я думаю, очевиден. |
|||
![]() |
|
||||
Цитата:
Цитата:
Цитата:
Может я что то делаю не так? [ATTACH]1151950865.jpg[/ATTACH] |
||||
![]() |
|
||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
Все нормально. Сначала полилиния искажается, потому как добваляется новая вершина с "нулевыми" свойствами. Затем свойства сегменов переназначаются со сдвигом на единицу, так что перед растяжкой все компенсируется. Так что - верной дорогой идете, товарищи!(с)
|
|||
![]() |
|
||||
Цитата:
Программа не спрашивает вторую точку, а вылетает раньше и с ошибкой... ![]() |
||||
![]() |
|
||||
Попробуй указать точку на последнем сегменте...
И еще... После добавления сегмента - ширина делится не правильно! Т.е. был сегмент с шириной 30-40 а стало два сегмента - один 30-40 другой 30-30... У меня они делились в соответствии с отношением длинн, т.е. если не двигать новую точку - полилиния будет выглядеть так же, как до добавления вершины, но с дополнительной точкой... PS. Проверял на акаде 2004en. |
||||
![]() |