Меняет положение текстов, мтекстов и блоков. Либо предварительно выбрать, тогда обработает выбранные заранее элементы или если ничего не выбрано предложит выбрать рамочкой. После выбора предложит выбрать базовую окружность, если выбрать будет закидывать в ближайшую окружность того же цвета и слоя что и базовая, если отменить будет закидывать в любую ближайшую окружность чертежа. Загружать через netload команда Entityincircle, на всякий случай проверяйте что бы архив был не заблокирован после скачки.
Огромное спасибо!!! Все работает именно так как нужно, вы сэкономили просто неимоверное количество времени на рутине, свяжитесь со мной в ЛС мне бы хотелось Вас как то отблагодарить
Товарищи, подскажите, как из командной строки AutoCAD 2022 RU задать ГЕОПОЛОЖЕНИЕ 58.30825 44.778478? Смотрю в справку и не могу найти...
Здрваствуйте товарищи! При загрузге данные с компьютера на FTP(File Zilla Client) некоторые автокадовские файлы(dwg) сохранились в DWL формате как в FTP, так и в самом компьютере и не показываются. Как переобразовать их обратно в dwg формат ? Нуждаюсь в вашей помощи.
Никак, это служебные файлы, которые показывают что файл .dwg в данный момент открыт и не являются чертежом.
А по моему вопросу можно услышать комментарий? Собственно у меня весь чертёж строится автоматически, не хватает только автоматизации привязки к географическим координатам... Как задать ГЕОПОЛОЖЕНИЕ командой / лиспом?
Здравствуйте! Помогите усовершенствовать один макрос (см. приложенный файл LSP). Он суммирует числовые значения в Мтекстах, обозначающих диаметр и длину трубопроводов. По приглашению ком. строки указываешь диаметр, выделяешь нужный фрагмент схемы и получаешь суммарную длину труб данного диаметра. Если не указываешь диаметр, то макрос считает общую длину вообще всех труб. Надо, чтобы макрос (если не указываешь диаметр) суммировал трубы, сортируя по диаметрам и вписывал в таблицу, которую сам и создавал (см. приложенный файл DWG). В принципе, можно даже упростить существующий макрос, удалив код, относящийся к выбору какого-либо диаметра, так как всё равно все нужные данные по всем диаметрам будут в таблице. Спасибо.
Сейчас ради прикола спросил у ChatGPT: Напиши код плагина для AutoCAD 2022 на Visual Basic .NET, который рисует красную полилинию по двум точкам, при вводе команды "NEWPLINE". И получил результат: Для создания плагина AutoCAD 2022 на Visual Basic .NET, который рисует красную полилинию по двум точкам при вводе команды "NEWPLINE", вам потребуется использовать библиотеку AutoCAD .NET API. Вот пример кода, который можно использовать в качестве основы для вашего плагина: Imports Autodesk.AutoCAD.ApplicationServices Imports Autodesk.AutoCAD.DatabaseServices Imports Autodesk.AutoCAD.EditorInput Imports Autodesk.AutoCAD.Geometry Imports Autodesk.AutoCAD.Runtime Public Class NewLinePlugin <CommandMethod("NEWPLINE")> Public Sub NewLineCommand() ' Получение текущего документа AutoCAD Dim doc As Document = Application.DocumentManager.MdiActiveDocument ' Получение базы данных текущего документа Dim db As Database = doc.Database ' Получение редактора текущего документа Dim editor As Editor = doc.Editor ' Запрос первой точки Dim pprOpts As New PromptPointOptions("Введите первую точку:") Dim pprRes As PromptPointResult = editor.GetPoint(pprOpts) If pprRes.Status <> PromptStatus.OK Then Exit Sub End If Dim startPoint As Point3d = pprRes.Value ' Запрос второй точки Dim sprOpts As New PromptPointOptions("Введите вторую точку:") sprOpts.UseBasePoint = True sprOpts.BasePoint = startPoint Dim sprRes As PromptPointResult = editor.GetPoint(sprOpts) If sprRes.Status <> PromptStatus.OK Then Exit Sub End If Dim endPoint As Point3d = sprRes.Value ' Начало транзакции Using trans As Transaction = db.TransactionManager.StartTransaction() ' Открытие таблицы блоков текущего пространства модели Dim bt As BlockTable = trans.GetObject(db.BlockTableId, OpenMode.ForRead) Dim btr As BlockTableRecord = trans.GetObject(bt(BlockTableRecord.ModelSpace), OpenMode.ForWrite) ' Создание полилинии Dim polyline As New Polyline() polyline.AddVertexAt(0, New Point2d(startPoint.X, startPoint.Y), 0, 0, 0) polyline.AddVertexAt(1, New Point2d(endPoint.X, endPoint.Y), 0, 0, 0) polyline.Color = Color.FromColorIndex(ColorMethod.ByAci, 1) ' Красный цвет ' Добавление полилинии в пространство модели btr.AppendEntity(polyline) trans.AddNewlyCreatedDBObject(polyline, True) ' Завершение транзакции trans.Commit() End Using ' Обновление экрана editor.Regen() End Sub End Class Важно убедиться, что вы добавили ссылку на библиотеку AutoCAD .NET API в вашем проекте, чтобы использовать необходимые классы и методы. Господь всемогущий! Попробуйте спросить написать код на AutoLISP, кто в нём понимает.
переписанный пример из справки походу) --- Сообщения объединены, 5 июл 2023, Оригинальное время сообщения: 5 июл 2023 --- Если еще надо, могу накидать.
alz, Дык, надо, милай! Уважь пенсионЭра. Свечку за здравие поставлю. :)) А серьёзно - ну да, конечно, хотелось бы иметь такой макрос. Как говорится, "лень - двигатель прогресса". Сам в лиспе не шарю, только слегка на VBA, и то в Excel. Моя благодарность не припозднится.
Проверить архив, что бы не был заблокирован, запускать через netload на ленте появится панелька с кнопкой, рамочкой выделить все и в выбранном месте вставить в чертеж таблицу с результатами. Просуммирует если выбранный текст удовлетворяет следующим требованиям: 1) текст состоит из двух строк 2) в первой строке должен быть значек диаметра, прописанный через %%C 3) во второй строке должно быть число, после которого стоит буква "м" в файле примера все прекрасно сложилось один в один с уже вставленной таблицей. Тестировал на 2021 автокаде, в более старых должно работать версии до 17, более ранние не уверен, так же не уверен про более поздние чем 2021.
alz, благодарю за труды, однако пользоваться не смогу: во-первых, не умею, а во-вторых, боюсь "dll" и др. разных библиотек и примочек, как любой пенсионЭр страшится нового айфона, привыкши крутить номеронабиратель. И потом, куда мне эти "dll" вставлять? Спасибо. Однако мне нужен макрос на AutoLISP или CommonLISP, чтобы нормально подгрузить, как я умею, и не шарахаться от новизны. p.s. Весьма желательно, чтобы хотя бы основные строки кода были закомментированы (хочется хоть немного разобраться в кухне). И макрос не был конвертирован в fas и др. формы. Только ".lsp" p.p.s Мастера-лисперы, отзовитесь на #1407!
Надо учиться жить в ногу со временем, для загрузки dll в автокаде специальная команда есть - netload называется, на лиспе что-то попроще еще можно сделать, но какие-то визуальные вещи типа таблиц на нем сделать уже реально мастер нужен. Вот небольшая видюшка как подгрузить и использовать этот макрос.
alz, а в моём архиве только два файла - SumD2.dll и System.ValueTuple.dll автокад у меня 2020. Стиль классический, не лента. Вообще, считаю, что использовать ленту - гробить автокад. Эта лента занимает полэкрана, а кнопок на ней - полторы штуки. А главное в автокаде - это пространство модели, а не красивые кнопочки. Ну, это так, лирическое отступление. По команде _netload в появившемся меню выбираю файл SumD2.dll. И ничего не происходит. --- Сообщения объединены, 5 июл 2023, Оригинальное время сообщения: 5 июл 2023 --- alz, так, с лентой всё получилось. Моя благодарность не знает границ. И всё же есть тут недоделка, этакая "заноза" - работаю в классике, а чтобы посчитать длины труб, придётся переключать на ленту. А потом снова в классику. Беда... --- Сообщения объединены, 5 июл 2023 --- alz, заметил "кривизну", правда, небольшую: неплохо было бы расположить диаметры в таблице по порядку, сверху вниз по возрастающей. --- Сообщения объединены, 5 июл 2023 --- alz, угадываю ворчание в стиле "Ну вот, начались дополнительные хотелки..." :))
Проверьте что бы скачанный архив был не заблокирован так как ленты нет можете просто воспользоваться командой "sumd2" после загрузки dll она должна появиться, кнопка на ленте это так, бонусом
alz, да команда sumd2 работает в классике. Прекрасно. А можно ли сделать так, чтобы диаметры в таблице шли сверху вниз по возрастающей? Я вот просто поменял один диаметр 40 на диаметр 20. И он (20) оказался в самом низу таблицы. А должен был сверху. --- Сообщения объединены, 5 июл 2023, Оригинальное время сообщения: 5 июл 2023 --- И ещё: при каждом включении автокада приходится подгружать файл dll, Как сделать, чтобы он после первой подгрузки оставался там и при последующих включениях? С файлами lsp такое возможно.
Сделал сортировку, и возможность автозагрузки, для автоматической загрузки папку SumD2.bundle надо положить в папку C:\Program Files\Autodesk\ApplicationPlugins Проверьте что бы архив был разблокирован и папка не задвоилась при распаковке если интересно в текстовом файле текст самой программы
alz, очень интересно, спасибо за код! Много схожего с VBA (в смысле, наименования команд). А что это за язык программирования?