Пронумеровать точки в автокаде
Перейти к содержимому

Пронумеровать точки в автокаде

  • автор:

Нумерация вершин полилинии

Нумерация вершин полилинии с использованием динамического блока, входящего в пакет устанавливаемых файлов.
Приложение расставляет динамический блок в вершины полилинии и
изменяет значения его атрибута, в соответствии с номером вершины полилинии.

Скачать приложение

Тип приложения: FREE
Версия приложения: 1.0
Дата выпуска: 05.2018
Размер файла: 360Kb
Совместимость
Операционная система: Windows 32/ 64
Autodesk Autocad: 2013 — 2017

ОПИСАНИЕ ПРИЛОЖЕНИЯ

Порядок действий:

  1. Скачайте и установите приложение.
  2. После установки приложения:
    1. на рабочий стол будет скопирована папка «AppsforCad Нумерация вершин», внутри которой располагается файл — «Блок Номер вершины.dwg», содержащий динамический блок, необходимый для выполнения нумерации вершин полилинии.
    2. появится дополнительная вкладка меню AppsforCad, содержащая вкладку Нумерация вершин. Вкладка Нумерация вершин объединяет две команды Выполнить нумерацию и Изменить нумерацию.
    1. Выберите полилинию.
    2. Выберите динамический блок (поставляемый совместно с приложением).
    3. Ввведите номер первой вершины полилинии или подтвердите нажатием Enter нумерацию с номера 1.
    4. Ввведите префикс — постоянное значение, которое будет предшествовать номерам вершин.
    5. Ввведите суффикс — постоянное значение, которое будет располагаться после номеров вершин.
    1. Выберите полилинию.
    2. Выберите динамические блоки, атрибуты которых необходимо изменить.
    3. Ввведите номер первой вершины полилинии или подтвердите нажатием Enter нумерацию с номера 1.
    4. Ввведите префикс — постоянное значение, которое будет предшествовать номерам вершин.
    5. Ввведите суффикс — постоянное значение, которое будет располагаться после номеров вершин.

    Важно!

    1. Не меняйте в исходном динамическом блоке имя атрибута «Номер_вершины». В случае отсутствия атрибута с таким именем в командную строку будет выведено сообщение:
      «Выбранный блок не содержит атрибут Номер_вершины».

    AppsForCad | 2018 — 2021

    Включение и отключение автоматической нумерации точек для базы данных съемки

    При включенной автоматической нумерации новым точкам автоматически назначается следующий свободный номер. Если автоматическая нумерация точек отключена, следует давать новым точкам необходимые номера.

    Включение и отключение автоматической нумерации точек

    1. Выберите в области инструментов вкладку «Съемка» , щелкните имя базы данных съемки правой кнопкой мыши и выберите Редактировать параметры базы данных съемки .
    2. В диалоговом окне «Параметры базы данных съемки» разверните группу свойств «Окно команд модуля «Геодезия» .
    3. Выполните одно из следующих действий.
      • Чтобы разрешить автоматическую нумерацию точек, установите флажок опции «Автоматическая нумерация точек» .
      • Чтобы отключить автоматическую нумерацию точек, удалите флажок опции «Автоматическая нумерация точек» .
    4. Нажмите «OK».

    Включение и отключение нумерации точек с помощью языка команд модуля «Геодезия»

    1. В окне «Область инструментов» на вкладке «Съемка» щелкните правой кнопкой мыши на имени сети, для которой требуется включить или отключить автоматическую нумерацию точек. Выберите из контекстного меню «Окно команд модуля «Геодезия» .
    2. Чтобы включить автоматическую нумерацию точек, в строке «Команда» введите: AUTO ON [точка]
    3. Чтобы отключить автоматическую нумерацию точек, в строке «Команда» введите: AUTO OFF

    Пример

    В следующем примере представлена корректная строка ввода, в которой используется команда включения автоматической нумерации точек с указанием 1001 в качестве начального номера:

    Если номер точки не указан, программа использует для назначения следующий свободный номер.

    Автоматическая нумерация точек.

    Кто-нибудь знает как проделать следующее: у меня есть полилиния, мне нужно, чтобы каждая характерная точка-точка излома автоматически пронумеровалась по-порядку, причем, нужно чтобы это была не просто цифра, как отдельный объект, а именно номер точки, котрый при экспорте присвается ей соответственно координатам этой точки! Какие варианты? Или еще чего для этого нужно? Вообще такая необходимость для такой вещи: я эту полилинию сохраняю в dwg, затем импортирую в MapSuite, чтобы слить эти точки в тахеометр Sokkia, точки-то сами скидываются, а номера приходится вручную присваивать, а сучетом, что каждый день нужно 100-200 разных точек, то по времени накладно получается! Подкиньте идейку хорошую!

    Просмотров: 35613

    Наше дело труба

    Регистрация: 19.11.2006
    Томск_Комсомольск-на-Амуре
    Сообщений: 1,736
    __________________
    *. И Случай, бог изобретатель. *
    Регистрация: 13.04.2009
    Сообщений: 14
    skif58, спасибо огромное- действительно помогло.
    Регистрация: 20.01.2011
    Сообщений: 12
    не подскажите ли как мне имея картинку в 600 точек пронумеровать каждую автоматически!
    Регистрация: 11.10.2010
    Сообщений: 980

    Заменить каждую точку на блок с атрибутом и потом перенумеровывать. Хоть свою программу писать, хоть через attin / attout.

    __________________
    (/= RegDate StartReadDate)
    Регистрация: 20.01.2011
    Сообщений: 12
    эм.я слаб в автокаде.не могли бы по шагам разъяснить что к чему.как и где)
    Регистрация: 24.03.2005
    Сообщений: 320

    BadB_85, легких путей нет. Есть лисп (c:frto) замены выбранного на определенный примитив. Т.е вы все свои 600 точек меняете на текст (допустим на букву А). Затем командой TCOUNT из экспрессов автоматически нумеруете. Нумерация будет «от центра точек» , т.е. хаотичная.

    Регистрация: 12.03.2009
    Сибирь (где медведи по улицам ходят)
    Сообщений: 860
    BadB_85,
    Выложи файл с 600 точками, и прям в нём на 2-3 точках покажи, что тебе конкретно нужно
    __________________
    Почему все вдруг становятся умными, когда уже не надо?
    Регистрация: 20.01.2011
    Сообщений: 12
    ну вот пример.все точки обозваны «1». и как мне их пронумеровать?

    DWG 2007 Чертеж1.dwg (50.7 Кб, 7808 просмотров)

    Регистрация: 11.10.2010
    Сообщений: 980
    Уточню встречный вопрос: по какому закону их пронумеровывать?
    __________________
    (/= RegDate StartReadDate)
    Регистрация: 20.01.2011
    Сообщений: 12
    ну близлежащие точки..не хаотично,а по порядку..если есть такая возможность
    Регистрация: 29.10.2004
    Талды-Париж
    Сообщений: 5,989
    Регистрация: 20.01.2011
    Сообщений: 12
    нет.увы слишком тяжело для меня((
    Регистрация: 29.10.2004
    Талды-Париж
    Сообщений: 5,989
    да там все просто — выбрал начальное значение, задал шаг приращения и щелкай подряд
    Регистрация: 20.01.2011
    Сообщений: 12
    а где это выбирать то??
    Регистрация: 29.10.2004
    Талды-Париж
    Сообщений: 5,989

    ну там же в описании все написано что, где и как

    Регистрация: 20.01.2011
    Сообщений: 12

    спасибо большое..сейчас буду пробовать))как получится-отпишусь!еще раз спасибо)
    все получилось..спасибо.очень выручили)

    Последний раз редактировалось BadB_85, 20.01.2011 в 15:34 . Причина: время

    Как сделать автоматическую нумерацию узловых точек полилиний?

    Форумы CADUser → Программирование → LISP → Как сделать автоматическую нумерацию узловых точек полилиний?

    Страницы 1

    Чтобы отправить ответ, вы должны войти или зарегистрироваться

    Сообщения 20

    #1 Тема от vladant 8 июня 2007г. 10:45:46

    Тема: Как сделать автоматическую нумерацию узловых точек полилиний?

    Предупреждение! Название темы: «Помогите с простым LISPом ОЧЕНЬ НАДО. » — Нужно задавать вопрос, а не клянчить халяву.
    /Администратор./

    Проблема вот какая: часто приходится на чертежах пронумеровывать углы точек полилиний, нумерация зашкаливает за 200 или 300 точек, вот и приходится текст копировать 200 раз и редактировать 200 раз, нельзя ли создать небольшой Lisp который мне бы помог. Хотелось бы чтобы нумерация осуществлялась след. образом: на точке круг диаметром 0,8 и справо от цифрового значения текстовое поле с номером точки (целое число) — стиль любой высотой 2,номер начин.с 1, следующая точка +1, т.е. 2,3,4 и т.д. Буду очень признателен

    #2 Ответ от CB 8 июня 2007г. 11:42:28

    Re: Как сделать автоматическую нумерацию узловых точек полилиний?

    > [Re:] vladant
    Если совсем по простому то можно так:

    (defun test (/ ent n lst_point) (setq sys_var (mapcar 'getvar '("osmode" "cmdecho"))) (setvar "osmode" 0) (setvar "cmdecho" 0) (setq ent (car (entsel "\nВыберите полилинию: "))) (setq n 1) (setq lst_point (mapcar 'cdr (vl-remove-if-not '(lambda (x) (= (car x) 10)) (entget ent) ) ;_ end of vl-remove-if-not ) ;_ end of mapcar ) ;_ end of setq (mapcar '(lambda (x) (vl-cmdf "_circle" x "_d" 0.8) (vl-cmdf "_text" (polar x (/ pi 4) 1.) 2. 0 (rtos n 2)) (setq n (1+ n)) ) ;_ end of lambda lst_point ) ;_ end of mapcar (mapcar 'setvar '("osmode" "cmdecho") sys_var) (princ) ) ;_ end of defun ;;;(test)

    #3 Ответ от vladant 8 июня 2007г. 12:00:50

    Re: Как сделать автоматическую нумерацию узловых точек полилиний?

    > CB
    спасиб тестим

    #4 Ответ от VVA 8 июня 2007г. 12:21:57

    Re: Как сделать автоматическую нумерацию узловых точек полилиний?

    > vladant
    Если не пойдет, добавь в начало строчку

    (vl-load-com)

    #5 Ответ от vladant 8 июня 2007г. 12:51:48

    Re: Как сделать автоматическую нумерацию узловых точек полилиний?

    > VVA
    И без этого пошло. СПАСИБО ТЕБЕ ОГРОМНОЕ

    #6 Ответ от vladant 8 июня 2007г. 13:03:51

    Re: Как сделать автоматическую нумерацию узловых точек полилиний?

    > VVA
    Упс небольшая просьба, а можно без 4-ех знаков после запятой, сейчас вид такой 1.0000, а нужно просто 1

    #7 Ответ от vladant 8 июня 2007г. 13:23:22

    Re: Как сделать автоматическую нумерацию узловых точек полилиний?

    > vladant
    да уж это глюк похоже только у меня, попробывали на другой машине там все нормально непонимаЮ.

    #8 Ответ от Александр Ривилис 8 июня 2007г. 13:26:13

    Re: Как сделать автоматическую нумерацию узловых точек полилиний?

    > vladant
    Замените в коде:

    (vl-cmdf "_text" (polar x (/ pi 4) 1.) 2. 0 (rtos n 2))
    (vl-cmdf "_text" (polar x (/ pi 4) 1.) 2. 0 (rtos n 2 0))

    #9 Ответ от VVA 8 июня 2007г. 13:28:44

    Re: Как сделать автоматическую нумерацию узловых точек полилиний?

    > vladant
    Два варианта:
    1. Перед вызовом каманды LUPREC в нужное тебе кол-во символов. Или то же самео в команде _Units
    2. В коде находишь строчку
    (rtos n 2) и меняешь на
    (rtos n 2 2) — 2 знака после запятой
    (rtos n 2 3) — 3 — знака после запятой

    #10 Ответ от VVA 8 июня 2007г. 13:33:17

    Re: Как сделать автоматическую нумерацию узловых точек полилиний?

    Да, там же номера, можно и так

    (vl-cmdf "_text" (polar x (/ pi 4) 1.) 2. 0 (rtos n 2))
    (vl-cmdf "_text" (polar x (/ pi 4) 1.) 2. 0 (itoa n))

    #11 Ответ от vladant 8 июня 2007г. 13:59:01

    Re: Как сделать автоматическую нумерацию узловых точек полилиний?

    с командой LUPREC, все получилось,ВСЕМ СПАСИБО

    #12 Ответ от vladant 20 июня 2007г. 15:40:08

    Re: Как сделать автоматическую нумерацию узловых точек полилиний?

    извините за наглость, столкнулся с проблемой: две полилинии не замкнутые первая нумеруются по узловым точкам нормально, а вот вторую хотелось бы продолжать нумеровать не с 1, а последняя точка первой полилинии+1.

    #13 Ответ от VVA 20 июня 2007г. 16:39:05

    Re: Как сделать автоматическую нумерацию узловых точек полилиний?
    (defun C:Nvx (/ ent n lst_point sys_var) (setq sys_var (mapcar 'getvar '("osmode" "cmdecho"))) (setvar "osmode" 0) (setvar "cmdecho" 0) (if (not (numberp *NPoint*))(setq *NPoint* 1)) (princ "\nНачальный номер <")(princ *NPoint*)(princ ">: ") (if (null (setq n (getint)))(setq n *NPoint*)) (and (setq ent (car (entsel "\nВыберите полилинию: "))) (= (cdr(assoc 0 (entget ent))) "LWPOLYLINE") (setq lst_point (mapcar 'cdr (vl-remove-if-not '(lambda (x) (= (car x) 10)) (entget ent) ) ;_ end of vl-remove-if-not ) ;_ end of mapcar ) ;_ end of setq (mapcar '(lambda (x) (vl-cmdf "_circle" x "_d" 0.8) (vl-cmdf "_text" (polar x (/ pi 4) 1.) 2. 0 (itoa n)) (setq n (1+ n)) ) ;_ end of lambda lst_point ) ;_ end of mapcar (setq *NPoint* n) (mapcar 'setvar '("osmode" "cmdecho") sys_var) ) (princ) ) ;_ end of defun (princ "\nНаберите Nvx в командной строке")

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *