1. ВНИМАНИЕ! В течении пары дней +- будет переезд форума на более защищённый сервер. Возможны периодические перебои в работе.

Помогу бесплатно разработать любую программу на autolisp.

Discussion in 'Autodesk' started by Германup, Feb 3, 2014.

  1. Сер-гео

    Сер-гео Форумчанин

  2. sergtor

    sergtor Форумчанин

  3. BearDyugin

    BearDyugin Модератор Форумчанин

    Есть Lisp от Кулик Алексей aka kpblc который "номрализует" блок в том числе и вес ставит "поблоку" а после уже можешь самим блокам задать нужный вес, или вес "послою" а слоям нужный тебе вес.
    http://forum.dwg.ru/showthread.php?t=21492
     
    barabashkasathalex likes this.
  4. Vari_a

    Vari_a Форумчанин

    спасибо.
     
  5. mihamster

    mihamster Форумчанин

    Vari_a, ну если на чертеже вообще не будет предусмотрено других толстых линий, то "веса" можно выключить, просто при печати.
     
  6. Романыч

    Романыч Форумчанин

    Коллеги, приветствую!
    Итак, вернулся к не совсем завершенному лиспу "Смещение точек на линию". Благодаря помощи всемогущего Disney, лисп написан заново. Протестировал его работу на Цивил 2016-работает!
    Пользуйтесь на здоровье, кому нужно.
     

    Attached Files:

    chehoff, sergtor and BearDyugin like this.
  7. dimandos

    dimandos Форумчанин

    Всем здравствуйте. Есть возможность сделать лисп для отрисовки уклона/расстояния по линии?
    Такой лисп есть в пакете программа KAI-2001, называется "DRAWGRAD – отрисовка линий с заданными уклонами и/или высотными отметками, а также формирование графы «Расстояние – уклон»". Но программа платная, точнее пробная версия на несколько запусков.
    Смысл лиспа: берется полилиния, указывается 1 и 2, 2 и 3, 3 и 4, и т.д. точки, а ниже в чертеже создается графа с подчитаным уклоно/расстоянием. Картинку прилагаю.
    Заранее спасибо за ответ.
    уклон.JPG
     
  8. А поподробней можешь расписать а то что то не получается выбираю точки далее трассу (полилиния) и ничего не происходит
     
  9. borik

    borik Форумчанин

    dimandos,
    Уклон в каких единицах нужен?
    Масштаб гор. и верт.?
     
  10. ivsem

    ivsem Форумчанин

  11. Романыч

    Романыч Форумчанин

    Есть съемочные точки по оси трассы (например, дороги), при этом, ось трассы была определена "на глаз".
    Смысл лиспа: съемочные точки "посадить" на ось трассы по кратчайшему расстоянию (нормаль).
    Мануал: выбираем точки, выбираем ось, готово!
    --- Сообщения объединены, Sep 30, 2016, Оригинальное время сообщения: Sep 30, 2016 ---
    Похожая примочка есть в Geo_Tools от Андрея
     
    chehoff likes this.
  12. BearDyugin

    BearDyugin Модератор Форумчанин

    Выложи чертеж, в котором ни чего не получается.
     
  13. dimandos

    dimandos Форумчанин

  14. Всё получилось
     
  15. borik

    borik Форумчанин

    Высоту текста не уточнили, поэтому настраивал на 2.
    ::smile24.gif::
    Но менять высоту текста можно, только потом ручками придётся подкорректировать местоположение.
    ------------------------------
    ;;; Добавление величин уклонов в профиль для масштабов Мгор. 1:500 Мверт. 1:100
    ;;; на входе - существ. линия профиля
    ;;; на выходе - величина уклона и расстояние
    ;;; запуск из ком.строки: _uk500
     

    Attached Files:

  16. rino_black

    rino_black Форумчанин

    Здравствуйте, нужно распечатать в pdf чертежи(планшеты) с заданными параметрами и желательно что бы сохранялись pdf в папке в которой лежит dwg. И может подскажите,как правильно сохранить настройки принтера и размер листа.
     

    Attached Files:

  17. dimandos

    dimandos Форумчанин

    Спасибо огромное.
    А можно еще больше обленивить программу? ::rolleyes24.gif::
    Сейчас работает по принципу указал верх/низ таблицы, далее вручную указываешь точки на линии.
    Сделать чтобы: указал верх/низ таблицы, далее просто выбираешь линию профиля, так сказать автоматический режим.
    А еще лучше чтобы в 2х режимах работало в ручном и автоматическом.
     
  18. Здравствуйте, нужен lisp который растаскивает текст от углов полилиний как в примере.
     

    Attached Files:

    bankolt likes this.
  19. MrBrown

    MrBrown Форумчанин

    Здравствуйте!
    Есть макрос, поворачивающий выбранные примитивы "стадом", но каждый примитив - вокруг своего центра (вокруг центра описанного прямоугольника):
    Code:
    ;поворот примитивов стадом
    (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%) выбранные макросом случайным образом. А оставшиеся не поворачивались бы, оставались бы как и были.
    Спасибо.
     
  20. sergtor

    sergtor Форумчанин

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice