soldering24.ru - Профессиональное паяльное оборудование
Сайты схожей тематики:
Автор: Dmitry Rudenko
C помощью этого скрипта (VBA) можно подготовить в nanoCAD план стен для последующего импорта в препроцессоры расчётных программ. Скрипт преобразует отрезки в 3dFace, которые воспринимаются препроцессорами, как оболочки.
Исходные объекты (отрезки):
Объекты после использования скрипта (3dFace):
Модель после импорта dxf в программе Форум:
Dim ms Set ms = ThisDrawing.ModelSpace Dim ut Set ut = ThisDrawing.Utility ut.Prompt "C помощью этого скрипта (VBA) можно подготовить в nanoCAD план стен для последующего импорта программой Форум. Скрипт преобразует отрезки в 3dFace, которые воспринимаются программой Форум, как оболочки." Dim myObj Dim solid Dim ppt0, ppt1, pt0(2), pt1(2), pt2(2), pt3(2) Dim check2 check2 = 0 Dim sSet, cnt set sSet = ThisDrawing.ActiveSelectionSet sSet.SelectOnScreen cnt = sSet.Count Dim height height = ut.GetInteger("Введите высоту стен: ") Dim i for i=0 to cnt-1 set myObj = sSet.Item(i) if (myObj.ObjectName = "AcDbLine") then ppt0 = ut.CreateSafeArrayFromVector(myObj.StartPoint) ppt1 = ut.CreateSafeArrayFromVector(myObj.EndPoint) pt0(0) = ppt0(0) pt0(1) = ppt0(1) pt0(2) = ppt0(2) pt1(0) = ppt1(0) pt1(1) = ppt1(1) pt1(2) = ppt1(2) pt2(0) = ppt0(0) pt2(1) = ppt0(1) pt2(2) = ppt0(2) + height pt3(0) = ppt1(0) pt3(1) = ppt1(1) pt3(2) = ppt1(2) + height set solid = ms.Add3dFace(pt0,pt1,pt3,pt2) solid.layer = myObj.layer myObj.delete else check2 = 1 end if next ut.Prompt "Готово, проверяй!" if check2 = 1 then ut.Prompt " " ut.Prompt "Внимание! В набор вошли не только отрезки" end if sSet.Clear
Обсуждение
http://forum.dwg.ru/showthread.php?t=16998
http://dwg.ru/pub/9 - вот тут почитал, как его использовать.
Пробую
(dwgru-wscript-run "./3dFace-frm-line.vbs" "1" "true" ""), говорит, что ему нужен объект "this drawing". (http://linkme.ufanet.ru/images/e3f3ab1f6b86e44d15c3b715080fe4a9.png)
Пробую
(dwgru-wscript-run "./3dFace-frm-line.vbs" "1" "true" "с"), открывается окно DOS'овской консоли на секунду, закрывается, а в консоли автокада остаются два нуля.
ЧЯДНТ? Неужели нужно учить LISP и VB? Не хочу((
0) _MESHOPTIONS. Выставляем степень сглаживания 0.
1) Выделяем нужные отрезки.
2) "ВЫДАВИТЬ". В русском автокаде работает команда "ВЫД".
3) Мышью направляем, в какую сторону выдавливать и задаем высоту (клавиатурой). Получаем кучу Поверхностей (Surface)
4) Выбираем их все (быстрым выбором или "Выбрать подобные")
5) MESHSMOOTH - все Surface становятся сетями (Mesh)
6) Выбираем все сети и.. взрываем их!
http://forum.dwg.ru/showpost.php?p=1114003&postcount=9
В Autodesk DWG TrueView называется Thickness