Огнестойкие светопрозрачные конструкции
VetCAD

Программа построения разрезов трехмерных блоков и внешних ссылок

    0 оценок

SvirepyBambr

размещено: 27 Января 2012
обновлено: 15 Апреля 2012
Программа строит разрезы объектов 3dSolid одной секущей плоскостью. Солиды могут входить в состав блоков и внешних ссылок. Программа автоматически назначает штриховку в соответствии с именем слоя, в котором живет данный солид.

Установка

Скопировать файлы patterns.sec и t-matrix.dll в одну из папок, состоящих в списке путей поиска AutoCAD (например ~/support). В AutoCAD выполнить команду _appload. Появится диалоговое окно. Нужно выбрать и загрузить файл make-3d-section.vlx.
Важно: t-matrix.dll собрана для AutoCAD 2010, теоретически должна работать и с Autocad 2009 и 2011, но я не проверял. Для других версий acad необходимо пересобрать t-matrix.dll с соответствующими библиотеками Object ARX.

Использование
Секущей плоскостью является плоскость XOY пространства модели. Геометрия, расположенная в положительном полупространстве (координаты z > 0), отсекается. Штриховка соответствует слою, в котором расположен объект.
Итак, ориентируем плоскость XOY нужным образом. Вызываем команду make-3d-section. Система предлагает выбрать объекты. Выбираем, жмем enter и ждем. Программа отработает и предложит ввести имя блока, в который нужно сохранить результат (по умолчанию #1, #2 и т.д.). После ввода имени программа попросит указать точку вставки нового блока - указываем. Блок сохранен, и его можно вставить в модель обычным способом - командой _insert.

Штриховка
Программа назначает штриховку по слою. Соответствие слоев и образцов штриховок определяется файле patterns.sec. Его нужно положить в папку, находящуюся в пути поиска AutoCAD (например папка c:/program files/AutoCAD 2010/support/). Это простой текстовый файл, он имеет следующую структуру:
[шаблон] [имя_штриховки]
[Шаблон] - это wild-card-шаблон, который программа будет искать в имени слоя. Например, шаблону *алюм* соответствуют следующие имена слоев: "Труба алюминиевая d 10x1,5", "Алюминий", "Лист алюм. S = 2" и т.п. Регистр символов не имеет значения. Подробнее о wild-card-шаблонах см. документацию к лиспофункции wcmatch.
- один или несколько символов табуляции.
[имя_штриховки] - имя штриховки в AutoCAD. Например "ANSI31", "ANSI37", "SOLID" и т.п. Custom штриховки тоже можно использовать.
Если для данного слоя не указана штриховка, программа молча применит штриховку ANSI31.

"Защищенные" блоки
Иногда нужно, чтобы объект, пересекаемый секущей плоскостью, не был разрезан, например, не принято "разрезать" элементы крепежа. Чтобы "защитить" блок от рассечения в него следует вложить атрибут PROTECTED и присвоить ему (атрибуту) значение "yes". Регистр символов не имеет значения. Если требуется лишить блок "защиты", нужно изменить значение атрибута PROTECTED на "no" или удалить данный атрибут из блока.

Обработка ошибок
Здесь все просто: если что-то пошло не так, программа завершается, оставив сообщение об ошибке. После аварийного завершения в модели останется мусор. Избавиться от него можно одним вызовом _undo.

Что в архиве
1. t-matrix.dll - .NET сборка, необходимая программе для обработки внешних ссылок.
2. 3d-section.vlx - собственно программа.
3. patterns.sec - файл, в котором задаются соответствия слоев и штриховок.
4. остальное - исходный код, большей частью AutoLisp и 1 файл C# - для тех, кому потребуется собрать t-matrix.dll для Autocad новее 2011 или старше 2009.

----------------------------------------------------------------------------------
Известные проблемы
Программа не умеет корректно работать с nonuniform-scaled блоками и блоками без графических примитивов. В следующих редакциях эта ошибка будет исправлена.

----------------------------------------------------------------------------------

Если возникнут проблемы, пишите мне на почту: a.smisloff@gmail.com
Программа построения разрезов трехмерных блоков и внешних ссылок1
Программа построения разрезов трехмерных блоков и внешних ссылок2
Программа построения разрезов трехмерных блоков и внешних ссылок3

Комментарии

Комментарии могут оставлять только зарегистрированные участники
Авторизоваться
Комментарии 1-6 из 6
Pum-purum , 28 января 2012 в 15:13
#1
Автор изобрел велосипед в 55ый раз. Не надоело еще?
SvirepyBambr , 29 января 2012 в 10:55
#2
Автор искал готовый велосипед и не нашел. Если многомудрый Pum-purum будет столь любезен и укажет автору на хотя бы одно из упомянутых им 54 транспортных средств, автор тут же отправит свое в утиль. Я серьезно, покажите, мне нужно.
, 21 января 2013 в 12:58
#3
хочу посмотреть исходники t-matrix.dll
, 21 января 2013 в 12:58
#4
стандартные афинные преобразования?
SvirepyBambr , 22 января 2013 в 22:34
#5
SergeyAB, исходник есть в архиве - файл TMatrix.cs. Код тривиален, простая обертка готовой функции из AutoCad .NET API.
Sleekka , 11 июля 2013 в 11:08
#6
Насчет готового велосипеда - bricscad v13 сечет в стоке солиды во внешних ссылках. т.к. в машиностроении без возможности сечь сборки - делать нечего.
ЗЫ свой велосипед всегда лучше, спасибо за программу.
zip

0.02 МБ

ПВХ мембрана PLASTFOIL GEO