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

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

Тема в разделе "Autodesk", создана пользователем dnvrdnn, 19 авг 2015.

  1. dnvrdnn

    dnvrdnn Форумчанин

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

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

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

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

    Вложения:

  9. Андрей_К1973

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

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

    Вложения:

    • Lsp.rar
      Размер файла:
      2,4 КБ
      Просмотров:
      96
    andrey_artphoto и dnvrdnn нравится это.
  10. dnvrdnn

    dnvrdnn Форумчанин

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

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

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

    Qvinto Форумчанин

    Extra Tools найди в интернете
    Там и решение.
     
    dxf-workshop и dnvrdnn нравится это.
  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
     

    Вложения:

  14. Андрей_К1973

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

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

    dnvrdnn Форумчанин

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

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

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

    Вложения:

  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
    --- Сообщения объединены, 23 авг 2015 ---
    До общей кучи, лисп, который копирует часть чертежа рамкой прямоуг или круглой, очень полезно, когда нужно взять часть генплана например
     

    Вложения:

    • robj.lsp
      Размер файла:
      1,9 КБ
      Просмотров:
      15
    • Fragm_Den.LSP
      Размер файла:
      6 КБ
      Просмотров:
      14
    Андрей_К1973 нравится это.
  18. dnvrdnn

    dnvrdnn Форумчанин

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

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

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

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

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

    Вложения:

    Последнее редактирование: 24 авг 2015
  20. Qvinto

    Qvinto Форумчанин

    Пользоваться Geoterminal.
     
    barabashkasathalex нравится это.
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление