Есть Lisp от Кулик Алексей aka kpblc который "номрализует" блок в том числе и вес ставит "поблоку" а после уже можешь самим блокам задать нужный вес, или вес "послою" а слоям нужный тебе вес. http://forum.dwg.ru/showthread.php?t=21492
Vari_a, ну если на чертеже вообще не будет предусмотрено других толстых линий, то "веса" можно выключить, просто при печати.
Коллеги, приветствую! Итак, вернулся к не совсем завершенному лиспу "Смещение точек на линию". Благодаря помощи всемогущего Disney, лисп написан заново. Протестировал его работу на Цивил 2016-работает! Пользуйтесь на здоровье, кому нужно.
Всем здравствуйте. Есть возможность сделать лисп для отрисовки уклона/расстояния по линии? Такой лисп есть в пакете программа KAI-2001, называется "DRAWGRAD – отрисовка линий с заданными уклонами и/или высотными отметками, а также формирование графы «Расстояние – уклон»". Но программа платная, точнее пробная версия на несколько запусков. Смысл лиспа: берется полилиния, указывается 1 и 2, 2 и 3, 3 и 4, и т.д. точки, а ниже в чертеже создается графа с подчитаным уклоно/расстоянием. Картинку прилагаю. Заранее спасибо за ответ.
А поподробней можешь расписать а то что то не получается выбираю точки далее трассу (полилиния) и ничего не происходит
dimandos, может подойдет программа Quick Profile.vlx? http://geodesist.ru/forum/threads/sozdanie-bystrogo-profilja-quick-profile-vlx.15078/
Есть съемочные точки по оси трассы (например, дороги), при этом, ось трассы была определена "на глаз". Смысл лиспа: съемочные точки "посадить" на ось трассы по кратчайшему расстоянию (нормаль). Мануал: выбираем точки, выбираем ось, готово! --- Сообщения объединены, 30 сен 2016, Оригинальное время сообщения: 30 сен 2016 --- Похожая примочка есть в Geo_Tools от Андрея
Высоту текста не уточнили, поэтому настраивал на 2. Но менять высоту текста можно, только потом ручками придётся подкорректировать местоположение. ------------------------------ ;;; Добавление величин уклонов в профиль для масштабов Мгор. 1:500 Мверт. 1:100 ;;; на входе - существ. линия профиля ;;; на выходе - величина уклона и расстояние ;;; запуск из ком.строки: _uk500
Здравствуйте, нужно распечатать в pdf чертежи(планшеты) с заданными параметрами и желательно что бы сохранялись pdf в папке в которой лежит dwg. И может подскажите,как правильно сохранить настройки принтера и размер листа.
Спасибо огромное. А можно еще больше обленивить программу? Сейчас работает по принципу указал верх/низ таблицы, далее вручную указываешь точки на линии. Сделать чтобы: указал верх/низ таблицы, далее просто выбираешь линию профиля, так сказать автоматический режим. А еще лучше чтобы в 2х режимах работало в ручном и автоматическом.
Здравствуйте! Есть макрос, поворачивающий выбранные примитивы "стадом", но каждый примитив - вокруг своего центра (вокруг центра описанного прямоугольника): Код: ;поворот примитивов стадом (defun c:srot (/ ERRCOUNT MAXPT MINPT MIPT MNPT MXPT OBJSET VLAOBJ PTLST XLST YLST) (vl-load-com) (if(not srot:ang)(setq srot:ang (/ pi 2))) (setq oldAng srot:ang srot:ang(getangle (strcat"\nSpecify rotation angle <"(angtos srot:ang)">: ")) ); end setq (if(null srot:ang)(setq srot:ang oldAng)) (setq errCount 0 ptLst '() ); en setq (while t (princ "\n§§§ Select objects and press Enter or Esc to Quit. §§§") (if (not(setq objSet(ssget "_I"))) (setq objSet(ssget)) ); end if (if objSet (progn (setq objSet (mapcar 'vlax-ename->vla-object (vl-remove-if 'listp (mapcar 'cadr(ssnamex objSet))))) (foreach obj objSet (vla-GetBoundingBox obj 'MinPt 'MaxPt) (setq mnPt(vlax-safearray->list MinPt) mxPt(vlax-safearray->list MaxPt) ptLst(append ptLst(list mnPt)) ptLst(append ptLst(list mxPt)) xLst(vl-sort ptLst (function(lambda(e1 e2)(<(car e1)(car e2))))) yLst(vl-sort ptLst (function(lambda(e1 e2)(<(cadr e1)(cadr e2))))) mxPt(list(caar(reverse xLst))(cadar yLst)) mnPt(list(caar xLst)(cadar(reverse yLst))) miPt(list(+(car mnPt)(/(-(car mxPt)(car mnPt))2)) (+(cadr mnPt)(/(-(cadr mxPt)(cadr mnPt))2)) 0.0); end list ); end setq ); end foreach (foreach obj objSet (if (vl-catch-all-error-p (vl-catch-all-apply 'vla-rotate (list obj(vlax-3D-Point miPt)srot:ang))) (setq errCount(1+ errCount)) ); end if ); end foreach (if(/= 0 errCount) (princ(strcat "\n" (itoa errCount) " objects were on locked layer! ")) ); end if ); end progn ); end if (setq ptLst nil) ); end while (princ) ); end of c:srot Прошу, добавьте туда функцию RANDOM, чтобы из выбранных примитивов на указанный угол поворачивались бы не все, а какая-то часть (примерно 50%) выбранные макросом случайным образом. А оставшиеся не поворачивались бы, оставались бы как и были. Спасибо.