Добро пожаловать!

Войдите или зарегистрируйтесь сейчас!

Войти

TrimObjects 29-10-2023

Разрезает объекты чертежа

  1. alz

    alz
    Форумчанин

    Регистрация:
    26 май 2014
    Сообщения:
    254
    Симпатии:
    108
    Пользователь alz разместил новый ресурс:

    TrimObjects - Разрезает объекты чертежа

    Узнать больше об этом ресурсе...
     
    #1
    АлексЮстасу нравится это.
  2. барабас

    Форумчанин

    Регистрация:
    7 окт 2010
    Сообщения:
    39
    Симпатии:
    7
    Адрес:
    Сочи
    Подскажите, как установить. Распаковал в папку C:\Program Files\Autodesk\ApplicationPlugins\TrimObjects.bundle, в командной строке ввожу trim_objects и ничего не происходит. Пишет: Неизвестная команда "TRIM_OBJECTS". Для вызова справки нажмите F1.
     
    #2
  3. alz

    alz
    Форумчанин

    Регистрация:
    26 май 2014
    Сообщения:
    254
    Симпатии:
    108
    1) Проверьте на всякий случай что по этому пути(C:\Program Files\Autodesk\ApplicationPlugins\TrimObjects.bundle\contents) находится библиотека TrimObjects.dll, а то иногда при распаковке винраром например папка дублируется.
    2) Если автокад был запущен надо перезапустить,
    3) Иногда требуется библиотеку (TrimObjects.dll) один раз запустить через netload
    4) Так же иногда после скачивания архив бывает заблокирован и перед распаковкой его надо разблокировать
    Screenshot_92.png
     
    #3
  4. барабас

    Форумчанин

    Регистрация:
    7 окт 2010
    Сообщения:
    39
    Симпатии:
    7
    Адрес:
    Сочи
    Спасибо, все работает!!!!
     
    #4
  5. папаСофии

    Регистрация:
    18 май 2023
    Сообщения:
    1
    Симпатии:
    0
    я не могу сообразить с выбором внутреннего контура, программа виснет и выдает ошибку
     
    #5
  6. alz

    alz
    Форумчанин

    Регистрация:
    26 май 2014
    Сообщения:
    254
    Симпатии:
    108
    Хмм, выложите этот контур, даже интересно стало, вообще при выборе программа проверяет что бы контур был замкнутый и не самопересекающийся, но при тестировании даже очень кривые контура просто выдавали что они не подходят и все, что бы висло такого не припомню.
     
    #6
  7. alz

    alz
    Форумчанин

    Регистрация:
    26 май 2014
    Сообщения:
    254
    Симпатии:
    108
    Пользователь alz обновил ресурс TrimObjects новой записью:

    Обновление

    Узнать больше об этом обновлении...
     
    #7
  8. KSumatokhin

    Регистрация:
    11 мар 2019
    Сообщения:
    4
    Симпатии:
    0
    Вот, что у меня пишет, при попытке загрузить:
    Код:
    Команда: NETLOAD
    Не удалось загрузить сборку. Сведения об ошибке: System.IO.FileLoadException: Не удалось загрузить файл или сборку "file:///C:\Program Files\Autodesk\ApplicationPlugins\TrimObjects.bundle\contents\Trim_objects.dll" либо одну из их зависимостей. Операция не поддерживается. (Исключение из HRESULT: 0x80131515)
    Имя файла: 'file:///C:\Program Files\Autodesk\ApplicationPlugins\TrimObjects.bundle\contents\Trim_objects.dll' ---> System.NotSupportedException: Предпринята попытка загрузить сборку из сетевого ресурса, что в предыдущих версиях .NET Framework могло привести к помещению сборки в "песочницу". Этот выпуск .NET Framework не включает политику CAS по умолчанию, поэтому данная загрузка может быть опасной. Если эта нагрузка не предназначена для изоляции сборки, включите переключатель loadFromRemoteSources. Дополнительные сведения см. на странице http://go.microsoft.com/fwlink/?LinkId=155569.
    в System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
    в System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
    в System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks, StackCrawlMark& stackMark)
    в System.Reflection.Assembly.LoadFrom(String assemblyFile)
    в Autodesk.AutoCAD.Runtime.ExtensionLoader.Load(String fileName)
    в loadmgd()
    Версия .NET Framework 4.8.4084.0

    Версия продукта: R.118.0.0 AutoCAD 2021.1
     
    #8
  9. alz

    alz
    Форумчанин

    Регистрация:
    26 май 2014
    Сообщения:
    254
    Симпатии:
    108
    Проверьте пункт 4 из третьего сообщения в теме.
     
    #9
  10. KSumatokhin

    Регистрация:
    11 мар 2019
    Сообщения:
    4
    Симпатии:
    0
    Спасибо, действительно, поставил галочку в архиве, и после переустановки команда появилась.
    Решил проверить на довольно тяжелом файле. В результате AutoCAD вылетел с ошибкой.
    Выбор опций показан на рисунке.
    001.png
    [​IMG]Файл, на которым тестировалось:
     
    #10
  11. alz

    alz
    Форумчанин

    Регистрация:
    26 май 2014
    Сообщения:
    254
    Симпатии:
    108
    Посмотрел ваш файл, ошибок у меня не было, но после 20 минут обработки блока "Топооснова" решил вырубить, есть тут в коде не совсем оптимальные решения. На таких тяжелых файлах я не тестил, максимум метров на 8 и то в режиме расчленения блоков, по хорошему надо бы всю программу перебрать и оптимизировать, так как я ее писал когда только начал программированием заниматься и код для меня сейчас выглядит ппц страшно) Но это не на 5 минут, будет время займусь, а пока будем считать что на такие объемы программа не рассчитана, соре если не оправдал надежд.
     
    #11
  12. АлексЮстасу

    Форумчанин

    Регистрация:
    28 май 2012
    Сообщения:
    1.869
    Симпатии:
    668
    Адрес:
    Маськва
    Оч. полезная программка для базового AutoCAD.
    Оффтоп
    На всякий случай - в Map/Civil есть команда MAPTRIM.
    Эта мощнее: обрабатывает с учетом внутреннего контура, обрабатывает блоки.
    С блоками лучше поосторожнее - блоки отдельных объектов чаще нужно сохранять целыми.

    По умолчанию лучше выключить "Удалить пересекаемые и необрезаемые элементы" - лучше контролировать результат.
    Лучше включить "Не трогаем блоки" - чтобы случайно их не испортить.
    Включить "Внутри контура" - самый востребованный режим, и без него не сразу понятно, почему не включается "Обрезать".

    Если программа в принципе работает не быстро, то лучше добавить часы или т.п. - дать понять, что идет процесс.
     
    #12
    Последнее редактирование: 16 окт 2023
  13. alz

    alz
    Форумчанин

    Регистрация:
    26 май 2014
    Сообщения:
    254
    Симпатии:
    108
    В целом она писалась для того, что бы между контурами можно было вырезать, ускорить выделение элементов чертежа, если какой-то участок нужен, типа такого
    upload_2023-10-16_20-56-2.png
    Счетчик там есть, показывает количество обработанных объектов, только если одним из объектов будет блок, внутри которого сотни тысяч элементов, то тут все сложнее.
     
    #13
  14. АлексЮстасу

    Форумчанин

    Регистрация:
    28 май 2012
    Сообщения:
    1.869
    Симпатии:
    668
    Адрес:
    Маськва
    А! Прошу прощения! Почему-то не заметил - есть.
     
    #14
  15. KSumatokhin

    Регистрация:
    11 мар 2019
    Сообщения:
    4
    Симпатии:
    0
    Мне была очень интересна ваша программа, еще и потому, что я пытался написать подобное на LISP.
    Надо сказать, только для одной задачи - обрезать по контуру оставив объекты внутри.
    Получилось 2 команды, 1 - обрезает по контуру, 2 - добавляет контур в блок.
    Потому как в случае с блоками как раз и возникала проблема. Я решил это так, что контур программно добавлялся в выбранный ВРУЧНУЮ блок функцией "2", а затем уже внутри пространства редактора запускалась функция "1", которая обрезает объекты по указанию режущего контура. В коде "1" использовался метод Break, а не Trim.
    В итоге процесс затягивается ручным перебиранием блоков.
    Если бы эта программа делала это автоматически, то это было бы явно лучше, чем сейчас у меня.
    У вас, кстати, как решено с блоками? Если есть 2 определения блока, которые нужно подрезать, то один из них что, заменяется переименованным? А что с вложенными в блок блоками?
     
    #15
  16. alz

    alz
    Форумчанин

    Регистрация:
    26 май 2014
    Сообщения:
    254
    Симпатии:
    108
    3 варианта работы с блоками, естественно все это делается если блок попадает на контур.
    1) вообще не трогает, считает блок отдельным элементом и реагирует на него как как другие не обрезаемые элементы, если стоит галочка удалять попавшие на границу необрезаемые элементы то удаляет.
    2) работает внутри блока, рекурсивно по всех вложенных до получения объектов - не блоков и их собственно разрезает, соответственно меняет все экземпляры, пометка об этом стоит там где этот выбор собственно и дается, в целом этим вариантом не пользуюсь, он особо не проработан, думаю все же надо будет сделать вариант копией и уже ее изменением.
    3) просто разбивает блок на составляющие и работает уже с ними

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

    Если учесть разницу в быстродействии лиспа и .net думаю на лиспе вообще бесперспективно пытаться обработать что-то типа генплана, но так как в лиспе не профессионал естественно ИМХО.
     
    #16
  17. mumych

    Форумчанин

    Регистрация:
    31 май 2011
    Сообщения:
    117
    Симпатии:
    43
    Адрес:
    Россия, ЦФО
    При запуске NETLOAD выдает:

    Раскрыть Спойлер
    Команда: NETLOAD
    Не удалось загрузить сборку. Сведения об ошибке: System.IO.FileLoadException: Не удалось загрузить файл или сборку "file:///C:\Program Files\Autodesk\ApplicationPlugins\TrimObjects.bundle\contents\Trim_objects.dll" либо одну из их зависимостей. Операция не поддерживается. (Исключение из HRESULT: 0x80131515)
    Имя файла: 'file:///C:\Program Files\Autodesk\ApplicationPlugins\TrimObjects.bundle\contents\Trim_objects.dll' ---> System.NotSupportedException: Предпринята попытка загрузить сборку из сетевого ресурса, что в предыдущих версиях .NET Framework могло привести к помещению сборки в "песочницу". Этот выпуск .NET Framework не включает политику CAS по умолчанию, поэтому данная загрузка может быть опасной. Если эта нагрузка не предназначена для изоляции сборки, включите переключатель loadFromRemoteSources. Дополнительные сведения см. на странице http://go.microsoft.com/fwlink/?LinkId=155569.
    в System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
    в System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
    в System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks, StackCrawlMark& stackMark)
    в System.Reflection.Assembly.LoadFrom(String assemblyFile)
    в Autodesk.AutoCAD.Runtime.ExtensionLoader.Load(String fileName)
    в loadmgd()


    Система: windows 10 home + net + autocad 2020
     
    #17
  18. alz

    alz
    Форумчанин

    Регистрация:
    26 май 2014
    Сообщения:
    254
    Симпатии:
    108
    https://forum.dwg.ru/showthread.php?t=109283 попробуйте вот тут посмотреть решение
     
    #18
  19. alz

    alz
    Форумчанин

    Регистрация:
    26 май 2014
    Сообщения:
    254
    Симпатии:
    108
    Пользователь alz обновил ресурс TrimObjects новой записью:

    Полная переработка

    Узнать больше об этом обновлении...
    --- Сообщения объединены, 29 окт 2023, Оригинальное время сообщения: 29 окт 2023 ---
    В переработанной версии этот файл обрабатывался около 25 минут но в целом отработал корректно, было удалено около 1.5 миллионов объектов.
     
    #19

Поделиться этой страницей

  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление