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

Автоматически проставить текст высотной отметки рядом с блоком

Discussion in 'Autodesk' started by dnvrdnn, Aug 19, 2015.

  1. dnvrdnn

    dnvrdnn Форумчанин

    1.Возможно ли обрезать участок генплана рамкой?
    2.Как сделать, чтобы рядом с блоком появилась отметка высоты?
    3.Как эти отметки и блоки развернуть, допустим, на 15 градусов на всем чертеже?
    4.При переопределении блока, новые блоки уменьшились. Не могу найти причину. Масштаб не выставляю.
     
  2. АлексЮстасу

    АлексЮстасу Форумчанин

    1. В AutoCAD Map 3D есть для обрезания команда. На форумах есть lisp-ы.
    2. Делаете из этого блока точки и из надписи высоты блок с атрибутом. Содержание атрибута делаете полем, считывающим Z вставки блока.
    3. Для разворота блоков есть lisp-ы - нужно искать на форумах.
    4. Возможно, дело в рабочих единицах файла - нужно смотреть файл-пример.
     
    Robkiy and dnvrdnn like this.
  3. OlVish

    OlVish Форумчанин

    повернуть блоки можно и задав в свойствах "поворот"
     
  4. dnvrdnn

    dnvrdnn Форумчанин

    как сделать из блока точку? И из надписи высоты... Где почитать? перелопатил гугл, ответ не нашел
     
  5. dnvrdnn

    dnvrdnn Форумчанин

    имеется съемка в формате dxf из Leica TS06. То есть блоки cross и одним слоем id, x, y, z. Вручную редактировать 1000 точек для исполнительной траншеи, конечно, тяжело. Нужна помощь
     
  6. trir

    trir Форумчанин

    А атрибуты зачем?
     
  7. igorkl

    igorkl Форумчанин

    А можно пример файла приложить?
     
  8. dnvrdnn

    dnvrdnn Форумчанин

    вот небольшой участок
     

    Attached Files:

  9. Андрей_К1973

    Андрей_К1973 Форумчанин

    держи архив, там 2 файла, frto-лисп преобразует блок в точку, p_h-подписывает высоту
    --- Сообщения объединены, Aug 23, 2015, Оригинальное время сообщения: Aug 23, 2015 ---
    Я тоже с лейкой работаю, если комп под рукой качай файлы, и если будут вопросы-пиши, или скинь тел, подскажу
     

    Attached Files:

    • Lsp.rar
      File size:
      2.4 KB
      Views:
      96
    andrey_artphoto and dnvrdnn like this.
  10. dnvrdnn

    dnvrdnn Форумчанин

    Великое спасибо! Сейчас буду разбираться. Отпишусь, если получилось.

    Да, все получилось. Вкратце - рисуете красивую точку рядом с блоками, потом frto - выбираете эту точку, enter, потом выбираете блоки, выбираете удалить или не удалить блоки, enter.
    p_h - выбираете точки, и все, энтер, выбираете высоту текста, энтер.

    Теперь задача повернуть текст для лучшей читаемости на 15 градусов
     
    Last edited: Aug 23, 2015
  11. Qvinto

    Qvinto Форумчанин

    Extra Tools найди в интернете
    Там и решение.
     
    dxf-workshop and dnvrdnn like this.
  12. Андрей_К1973

    Андрей_К1973 Форумчанин

    Я тоже с лейкой работаю, если комп под рукой качай файлы, и если будут вопросы-пиши, или скинь тел, подскажу

    хорошо! но вот такой задачи ч разворотом пока у меня не возникало, скинь файл, в 10-й версии, покручу немного!))
     
  13. dnvrdnn

    dnvrdnn Форумчанин

    нашел вот такой мудренный, но рабочий лисп
    Article: Type yo(defun C:TXT-ROTATE3D ( / RP RA P ang ss i obj)
    ;;; Программа для поворота строк текста в пространстве.
    ;;; Строки поворачиваются вокруг точек вставки или начальных точек.
    ;;; Оси поворота:
    ;;; B (перпендикулярны текущей плоскости строк);
    ;;; H (расположены по высоте строк);
    ;;; L (расположены вдоль строк);
    ;;; X,Y,Z или 2точки - тут всё ясно.
    ;;; http://forum.dwg.ru/showthread.php?t=56192&page=2 (©Li6-D)
    (vl-load-com)
    (initget "I L")
    (setq RP (getkword "\nУкажите вид точки на осях поворота строк - вставки , левая [L] <I>:

    ")
    RP (if (= RP "L")
    '(cdr (assoc 10 obj))
    '(cdr
    (assoc
    (if (or (zerop (+ (cdr (assoc 72 obj)) (cdr (assoc 73 obj))))
    (member (cdr (assoc 72 obj)) '(3 5))) 10 11)
    obj
    ) ) ) )
    (initget "B H L X Y Z 2точки")
    (setq RA (getkword "\nУкажите оси поворота строк [B/H/L/X/Y/Z/2точки] <2точки>: ")
    RA (cond
    ((= RA "B") '(trans (mapcar '+ P '(0 0 1)) (cdr (assoc 210 obj)) 0))
    ((= RA "H")
    '(trans
    (polar P (+ (cdr (assoc 50 obj)) (/ pi 2)) 1)
    (cdr (assoc 210 obj))
    0
    ) )
    ((= RA "L") '(trans (polar P (cdr (assoc 50 obj)) 1) (cdr (assoc 210 obj)) 0))
    ((= RA "X") '(mapcar '+ (trans P (cdr (assoc 210 obj)) 0) '(1 0 0)))
    ((= RA "Y") '(mapcar '+ (trans P (cdr (assoc 210 obj)) 0) '(0 1 0)))
    ((= RA "Z") '(mapcar '+ (trans P (cdr (assoc 210 obj)) 0) '(0 0 1)))
    (t (initget 9)
    (setq P (getpoint "\nУкажите первую точку: "))
    (initget 41)
    (append
    '(mapcar '+ (trans P (cdr (assoc 210 obj)) 0))
    (list (list 'quote (mapcar '- (getpoint P "\nУкажите вторую точку: ") P)))
    ) ) ) )
    (initget 1)
    (setq ang (getangle "\nУкажите угол поворота строк текста в градусах: "))
    (repeat (if (setq ss (ssget '((0 . "TEXT"))))
    (setq i (sslength ss))
    (progn (alert "Текст не указан") 0)
    )
    (setq i (1- i) obj (entget (ssname ss i)) P (eval RP))
    (vla-rotate3D
    (vlax-ename->vla-object (cdar obj))
    (vlax-3D-point (trans P (cdr (assoc 210 obj)) 0))
    (vlax-3D-point (eval RA))
    ang
    ) )
    (princ)
    )ur article here
     

    Attached Files:

  14. Андрей_К1973

    Андрей_К1973 Форумчанин

    Может есть и более простой способ??? Повернуть в видовом экране?
     
    dnvrdnn likes this.
  15. dnvrdnn

    dnvrdnn Форумчанин

    Конечно, есть, но от добра добра не ищут. ;)
    Может еще подскажешь как рамкой вырезать часть генплана?
     
  16. Андрей_К1973

    Андрей_К1973 Форумчанин

    Я в "модели" не оформляю исполнительные, пользуюсь "видовыми экранами"! намного удобнее!)
    --- Сообщения объединены, Aug 23, 2015, Оригинальное время сообщения: Aug 23, 2015 ---
    Как то примерно вот так
     

    Attached Files:

  17. dnvrdnn

    dnvrdnn Форумчанин

    Вдогонку еще один рабочий лисп поворота текста относительно точки вставки, более "простой"
    Slide 1
    (defun c:robj1 (/ selset ang adoc)
    (if (and (= (type (setq selset (vl-catch-all-apply
    (function
    (lambda ()
    (ssget "_:L" '((0 . "INSERT,*TEXT")))
    ) ;_ end of lambda
    ) ;_ end of function
    ) ;_ end of vl-catch-all-apply
    ) ;_ end of setq
    ) ;_ end of type
    'pickset
    ) ;_ end of =
    (= (type (setq ang (vl-catch-all-apply
    (function
    (lambda ()
    (getangle "\nВведите угол, на который надо повернуть объекты <Отмена> : ")
    ) ;_ end of lambda
    ) ;_ end of function
    ) ;_ end of vl-catch-all-apply
    ) ;_ end of setq
    ) ;_ end of type
    'real
    ) ;_ end of =
    ) ;_ end of and
    (progn
    (vla-startundomark (setq adoc (vla-get-activedocument (vlax-get-acad-object))))
    (foreach ent ((lambda (/ tab item)
    (repeat (setq tab nil
    item (sslength selset)
    ) ;_ end setq
    (setq tab (cons (vlax-ename->vla-object (ssname selset (setq item (1- item)))) tab))
    ) ;_ end of repeat
    ) ;_ end of lambda
    )
    (vla-put-rotation ent (+ (vla-get-rotation ent) ang))
    ) ;_ end of foreach
    (vla-regen adoc acactiveviewport)
    (vla-endundomark adoc)
    ) ;_ end of progn
    ) ;_ end of if
    ) ;_ end of defun
    --- Сообщения объединены, Aug 23, 2015 ---
    До общей кучи, лисп, который копирует часть чертежа рамкой прямоуг или круглой, очень полезно, когда нужно взять часть генплана например
     

    Attached Files:

    Андрей_К1973 likes this.
  18. dnvrdnn

    dnvrdnn Форумчанин

  19. АлексЮстасу

    АлексЮстасу Форумчанин

    Без лиспа:
    1. Вызвать блок в редакторе,
    2. добавить в блок атрибут,
    3. В графе По умолчанию добавить поле, считывающее Z вставки блока. Сразу можно определить округление отметок.
    4. _ATTSYNC - надписи отметок появятся.
    Spoiler
    Ничего, что единицы футы? И зачем еще масштабировать? Сделайте в метрах, и размер блока в соответствии с масштабом.

    Пример сделал, но что-то файлы на форум не грузятся...

    DWG не грузится, гружу архив.
     

    Attached Files:

    Last edited: Aug 24, 2015
  20. Qvinto

    Qvinto Форумчанин

    Пользоваться Geoterminal.
     
    barabashkasathalex likes this.
  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