Jump to content
  • entries
    5
  • comments
    38
  • views
    1,478

Доп.инструменты для работы с полилиниями


Ivanco

4,392 views

 Share

Понадобилось реанимировать свое старое приложение для работы с полилиниями в nanoCAD.
Публикую может кому пригодиться.
Написано на C#/MultiCAD.
Исходники на GitHub, поставляется "как есть".
Работоспособность проверена под NC2021.
Готовая к использованию .dll ка PLL_APP_v05.dll
Для nanoCAD 22 - PLL_APP_nc22_v05.dll

 

Вызов меню командой - "Pll_Work"


Описание возможностей:

  1. По выбранной полилинии: создает таблицу с координатами вершин чертежа.
    Таблица в двух формах обычная и по "кадастровой форме". Плюс экспорт в CSV.
    Учитывается точность координат, есть возможность учитывать/не учитывать UCS и менять местами X/Y.

    pll_app_tables.thumb.gif.a452d9447cf62db616a9cae5500657bd.gif

     
  2. Нумерация вершин. Поддерживается изменение высоты текста и нумерация вершин не с первой позиции.
    Есть ньюанс: на замкнутых "совмещеннных" вершинах, умерация прозводится дважды(пояснение).pll_app_numerate.thumb.gif.f1afc0b8e6cc8d27565f490f1d1a67bb.gif
     
  3. Перенумерация вершин(только для замкнутых полилиний).
    По факту создание новой полилинии, с измененным порядком вершин.
     
  4. Расстановка геометрии по вершинам полилинии.
    Поддерживаются: примитивы, тексты, блоки.
    pll_app_obj_arrange.thumb.gif.e5435e46e8b1021d028b79aab868d8cb.gif
     
  5. Упрощение полилинии(без дуговых сегментов), с заданием максимальной длинны сегмента.
    По факту создается новая полилиния.
    Реверс(без дуговых сегментов).
    Удаление одинаковых вершин.
     

Расстановка выносок по вершинам полилинии.
Учитывается точность координат, есть возможность учитывать/не учитывать UCS и менять местами X/Y.pll_app_notes.thumb.gif.c2248570ab207e613b9697bc924512de.gif


 

Если кто будет пользоватья - пожелания/комментарии здесь или в личку.

 

Edited by Ivanco

 Share

26 Comments


Recommended Comments



Здравствуйте. 

Огромное спасибо, что помогаете менее сведущим в программировании профанам пользоваться плодами Вашего интеллектуального труда!

А это приложение работает на nanoCad v. 5.1? А то я его загружаю и ничего не происходит.... Хоть скрипт 

forEach(ThisDrawing.PickFirstSelectionSet, function(ent) {

if (ent.EntityName != "AcDbPolyline") return;

var vv = new VBArray(ThisDrawing.Utility.CreateSafeArrayFromVector(ent.Coordinates));

var coords = vv.toArray();

//echo(coords.length);

for (i = 0; i<coords.length; i += 2)
{
 ThisDrawing.Utility.Prompt(coords[i] + "," + coords[i+1]);
}
})

function echo(msg) {ThisDrawing.Utility.Prompt(msg);}

function forEach(coll, fn) {for (var enu = new Enumerator(coll); !enu.atEnd(); enu.moveNext()) fn(enu.item());}

работает отлично. Спасибо!

Link to comment
1 час назад, lidia.antipina.ru сказал:

https://forum.nanocad.ru/index.php?/topic/4256-koordinaty-poliliniy/&do=findComment&comment=91927 - pltools

 

добавлено через 1 минуту

Меню можно не загружать для старых версий. К сожалению на 5.1 проверить не могу

Спасибо за совет. Только воспользоваться этим инструментом не представляется возможным((( 1. в моей версии нет "общих файлов" о которых говориться в п. 1 инструкции по установке, 2. у меня нет доступа (и вряд ли сисадмин мне его предоставит) к папке c:\Program Files\Nanosoft\.

Link to comment
10 часов назад, Иван_ сказал:

А это приложение работает на nanoCad v. 5.1?

нет. слишком старая версия nanoCAD.

 

10 часов назад, Иван_ сказал:

Хоть скрипт работает отлично.

указанный вами скрипт и мое приложение реализованы на разных языках. это нормально что то работает , а что то нет.

Edited by Ivanco
Link to comment
В 10.09.2021 в 18:18, Ivanco сказал:

нет. слишком старая версия nanoCAD.

 

указанный вами скрипт и мое приложение реализованы на разных языках. это нормально что то работает , а что то нет.

Спасибо большое за разъяснения!

Link to comment

Добрый день! 

Чего вообще не пошла, грузится без ошибок, а вызов команды ничего не говорит ((

N21 СПДС 64 21.0.3451.5637 3451

Платформа 21.0.5797.3451 5851

Непонятки, на 20х64 - без проблем!

Link to comment
В 10.09.2021 в 16:41, Иван_ сказал:

1. в моей версии нет "общих файлов" о которых говориться в п. 1 инструкции по установке, 2. у меня нет доступа (и вряд ли сисадмин мне его предоставит) к папке c:\Program Files\Nanosoft\.

Вместо 1-2 можно выполнить, указав любую доступную папку, куда положить pltools, например:

 

Команда: LISP lsp - Загрузка LISP Задайте параметр или [Команды/Функции/знаЧения/Загрузка/Выполнение/кОнсоль]: Выполнение

Введите имя команды: (setenv "ACAD" "C:\\Lida\\27823_Pltools_28045_21990")

"C:\\Lida\\27823_Pltools_28045_21990"

Edited by lidia.antipina.ru
Link to comment
В 14.12.2021 в 09:16, Boroda888 сказал:

Чего вообще не пошла, грузится без ошибок, а вызов команды ничего не говорит ((

N21 СПДС 64 21.0.3451.5637 3451

Платформа 21.0.5797.3451 5851

Непонятки, на 20х64 - без проблем!

Откройте свойства .dll и разблокируйте под админом, если заблокировано (у меня Win 10x64 заблокировал). Помещать ее надо в папку C:\Program Files\Nanosoft\nanoCAD x64 2x.x\bin

Затем ЗАГПРИЛ тип файлов "Все поддерживаемые" или "Модули Net(.dll)"

После этого набрать команду PLL_WORK (не PLL_APP !)

image.png.e41ac773c66217c3a74cf1ae6fc5895c.png

 

  • Thanks 1
Link to comment

Разблокировано

appload, netload - практически из любой папки работает, но скопировал куда написано

Набирал ессно PLL_WORK - в принципе ком строка сама говорит...

Один (Слово удалено системой) ((

Обнаглел и скачал исходник, пересобрал под конкретно х64 и опять на букву... как овощь называется...

Не понимаю(((

добавлено через 1 минуту

Простите!

Один (Слово удалено системой) ((

Всё равно! ))

Link to comment

Антивирус не проявлял себя но отключу

VCOMP140.dll  - это виндовая штука - переписать? не винду же переставлять...

Хотя есть идея на юзерах попробовать - у всех W10 :D 

Link to comment

Винду не надо, только кучку Visual Studio. См. Исправить ошибку VCOMP140 DLL в Windows 10/8.1/7 - YouTube. Недавно встречалось. 

Edited by lidia.antipina.ru
Link to comment

У юзеров 10-ка работает нормально. На моей 7-ке нет. Поставлю виртуалку на 10 и там буду проверячть

 

добавлено через 9 минут

image.png

Link to comment

@Boroda888под win 7 не проверял и не буду.
незнаю что именно за функционал нужен, но по ссылке ниже, есть ссылки на скачивания предыдущих версий.
возможно что то будет работать под win7 , если есть время на эксприменты.
https://forum.nanocad.ru/index.php?/topic/7021-spisok-vershin-polilinii-v-tablitsuprogrammno/page/2/

 

Edited by Ivanco
Link to comment
3 часа назад, АГФ сказал:

Имеется реверс полилинии? Как вызвать меню утилит?

реверс есть - но, он насколько помню по факту новую создает.
команда вызова меню - "Pll_Work" (добавил в шапке тоже).

Link to comment

Здравствуйте, как удалить сегмент полилинии? В обычном автокаде при зажатой кнопке "CTRL" можно было выделить сегмент полилинии и нажатием на "Delete" удалить. Как это сделать в нанокаде?

Link to comment

 

Ivanco спасибо огромное за приложение! Всё отлично заработало после разблокировки файла (не сразу заметил про этот нюанс). Весьма удобно и интуитивно понятно.

  • Like 1
Link to comment

В PL-Tools есть 

PL-VxRdc  -Удаление вершин полилиний, которые лежат на одной прямой

PL-VxOpt  -Удаление совпадающих вершин из полилинии

Или разорвать в 2-х точках, убрать часть и соединить

Link to comment

в нк 23 отказывается загружаться,

забрал с проект с гитхаба, пересобрал, но нет  нк23 не грузится

с ходу не понял в чем собака порылась)))

Link to comment
1 час назад, doctorraz сказал:

в нк 23 отказывается загружаться,

забрал с проект с гитхаба, пересобрал, но нет  нк23 не грузится

с ходу не понял в чем собака порылась)))

в Release что стоит в target platform? поставьте Any или x64 должно работать.
p.s. код и его организация - требуют переработки..

Edited by Ivanco
Link to comment

Guest
Add a comment...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...