| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Автоматическая нумерация блоков.

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

Ответ
Поиск в этой теме
Непрочитано 08.08.2005, 17:33 #1
Автоматическая нумерация блоков.
ApmeM
 
проектировщик
 
пока Волгоград
Регистрация: 08.04.2005
Сообщений: 199

Возникла проблема: надо пронумеровать сварные стыки на чертеже (схема сварных стыков газопровода). Стыков >150 шт. и в схему часто вносятся изменения. Поэтому идея подписывать каждый стык вручную кажется немного не здоровой . Как можно этот процесс автоматизировать?
P.S.
Обозначение стыка я сделал в виде блока.
Просмотров: 46384
 
Непрочитано 08.08.2005, 18:52
#2
Alan

CAD
 
Регистрация: 28.08.2003
Киев
Сообщений: 1,835
<phrase 1=


Самое правильное - это провести поиск по форуму, этому и autocad.ru
Предложений было, тьма. Например есть утилита работы с атрибутами http://dwg.ru/dwl/323
Alan вне форума  
 
Непрочитано 08.08.2005, 22:59
#3
{Smirnoff}

Инженер по системам безопасности
 
Регистрация: 23.11.2003
Рига
Сообщений: 1,099


Мне понятна твоя проблема, т. к. сам я занимаюсь слаботочкой и там везде всё нумеруется. А когда что-то добавляется или убирается то приходится всё остальное перенумеровывать. Чего стоит только к примеру адресная пожарная сигнализация где в одной петле где 99 а где и 127 устройств. Модуль или датчик ушёл/пришёл и поехали.

Я естественно сделал себе несколько программ для нумерации различного рода слаботочных устройств и "заделке" дыр однако они тебе не подойдут. Слишком уж специализированные, включают анализ блоков, вносят расширенные данные для дальнейшей автоотрисовки структурных схем и т. д. Да и нумерация там особая к примеру Тип_Устройства/Петля/Зона/Номер_Устройства или Модуль/Номер_на Модуле/Общий_Номер.

Однако если ты объяснишь систему нужной тебе нумерации я могу написать програмку которая будет сдвигать номера целой группы текстов или атрибутов в нужную сторону. Например Шов 5 - Шов 56 +3, чтобы вставить где то ещё 3 шва.

Пока могу предложить только две старенькие програмки для быстрой нумерации и перенумерации. Они запрашивают префикс, суфикс и стартовый номер. Нумерация происходит в "динамическм" режиме, т. е. текст номера вставляется как командой _pasteclip. Если текст содержит пробелы то необходимо заполнять их знаком #. Единичный знак # обнуляет значение суффикса или префикса. Это нужно потому то нажатие пробела в командной строке аналогично Enter.

Код:
[Выделить все]
(defun c:num (/ oldPref oldSuf oldStart curStr
	        actDoc actSp oldEcho *error*)

  (defun *error* (msg)
    (setvar "CMDECHO" oldEcho)
    (princ)
    ); end *error*
  
  (vl-load-com)
  (if(not num:Pref)(setq num:Pref ""))
  (if(not num:Suf)(setq num:Suf ""))
  (if(not num:Num)(setq num:Num 1))
  (setq oldPref num:Pref
        oldSuf num:Suf
        oldStart num:Num
	actDoc(vla-get-ActiveDocument
		(vlax-get-acad-object))
	oldEcho(getvar "CMDECHO")
	); end setq
  (setvar "CMDECHO" 0)
  (if(= (vla-get-ActiveSpace actDoc) 1)
    (setq actSp(vla-get-ModelSpace actDoc))
    (setq actSp(vla-get-PaperSpace actDoc))
    ); end setq
  (setq num:Pref(getstring(strcat "\nEnter prefix <"num:Pref">: ")))
  (if(= "" num:Pref)(setq num:Pref oldPref))
  (if(= "#" num:Pref)(setq num:Pref ""))
  (setq num:Suf(getstring(strcat "\nEnter suffix <"num:Suf">: ")))
  (if(= "" num:Suf)(setq num:Suf oldSuf))
  (if(= "#" num:Suf)(setq num:Suf ""))
  (setq num:Num(getint(strcat "\nEnter start number <"(itoa num:Num)">: ")))
  (if(null num:Num)(setq num:Num oldStart))
(while T
  (setq curStr(strcat num:Pref(itoa num:Num)num:Suf))
    (while(vl-string-search "#" curStr)
      (setq curStr(vl-string-subst " " "#" curStr))
      ); end while
  (vla-AddText actSp
        curStr (vlax-3d-point'(0.0 0.0 0.0))(getvar "TEXTSIZE"))
  (command "_.copybase" "0,0" (entlast) "")
  (command "_.erase" (entlast) "")
  (command "_.pasteclip" pause)
    (setq num:Num(1+ num:Num))
  ); end while
  (princ)
  ); end of c:num
Код:
[Выделить все]
(defun c:renum (/ oldPref oldSuf oldStart curText curStr)
  (vl-load-com)
  (if(not rnm:Pref)(setq rnm:Pref ""))
  (if(not rnm:Suf)(setq rnm:Suf ""))
  (if(not rnm:Start)(setq rnm:Start 1))
  (setq oldPref rnm:Pref
        oldSuf rnm:Suf
        oldStart rnm:Start); end setq
  (setq rnm:Pref(getstring(strcat "\nEnter prefix <"rnm:Pref">: ")))
  (if(= "" rnm:Pref)(setq rnm:Pref oldPref))
  (if(= "#" rnm:Pref)(setq rnm:Pref ""))
  (setq rnm:Suf(getstring(strcat "\nEnter suffix <"rnm:Suf">: ")))
  (if(= "" rnm:Suf)(setq rnm:Suf oldSuf))
  (if(= "#" rnm:Suf)(setq rnm:Suf ""))
  (setq rnm:Start(getint(strcat "\nEnter start number <"(itoa rnm:Start)">: ")))
  (if(null rnm:Start)(setq rnm:Start oldStart))
(while T
  (setq curStr(strcat rnm:Pref(itoa rnm:Start)rnm:Suf))
    (while(vl-string-search "#" curStr)
      (setq curStr(vl-string-subst " " "#" curStr))
      ); end while
    (setq curText(car(entsel "\nSelect DText/MText to renumber or Esc to Quit ")))
  (if
    (and
      curText
      (member(cdr(assoc 0(entget curText))) '("TEXT" "MTEXT"))
      ); end and
    (progn
    (vla-put-TextString
      (vlax-ename->vla-object curText)curStr)
    (setq rnm:Start(1+ rnm:Start))
    ); end progn
    (princ "\nThis is not DText or MText! ")
    ); end if
  ); end while
  (princ)
  ); end of c:renum
{Smirnoff} вне форума  
 
Непрочитано 08.08.2005, 23:36
#4
vk

сисадмин
 
Регистрация: 26.08.2003
Самара
Сообщений: 1,022
<phrase 1=


Может быть, отсюда http://www.autocad.ru/cgi-bin/f1/board.cgi?t=11767XN что то подойдет.
vk вне форума  
 
Непрочитано 09.08.2005, 09:35
#5
Лентяй

Project Engineer
 
Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392


Цитата:
Мне понятна твоя проблема, т. к. сам я занимаюсь слаботочкой и там везде всё нумеруется.
А вот понятость проблемы, как раз, не очевидна. :? Потому как, очевидна она была бы, если бы вы, Fantomas, не умствовали, а вспомнили бы, как нумеруются сварные швы, особенно, если их много, и они все разные. А нумеруются они, да будет вам известно, буквочкой N с цифиркой, располагаемыми над стрелочкой. То есть имеется блок с одним-единственным цифровым атрибутом, поскольку. если типов швов 150. то вся информация о них сведена в "Таблицу сврных швов", и даже над первым швом ничего не пищется. А посему, не мудрствуюя лукаво - код (простенько и незатейливо)
Код:
[Выделить все]
; Нумерация/Преренумерация блоков с одним цифровым атрибутом
;©2003 Лентяй
(defun C:KAN ( / ass ats cmd pca dn n)
  (setq adoc (vla-get-ActiveDocument (vlax-get-acad-object))
	cmd (getvar "CMDECHO") 	pca (getvar "PICKAUTO")	n 0);setq
  (setvar "CMDECHO" 0)
  (initget "Number Renumber")
  (setq kw (getkword "\n[Number/Renumber]? <N>"))
  (if (null kw) (setq kw "Number"))
  (if (= kw "Number") (setvar "PICKAUTO" 0))
  (setq dn (getint "\nInput Start or Offset Number: <1>"))
  (if (null dn) (setq dn 1))
  (prompt (strcat "\nSelect Blocks for " kw "ing: "))
  (ssget)
  (setq ass (vla-get-ActiveSelectionSet adoc))
  (vlax-for sb ass
   (if (= (vla-get-objectname sb) "AcDbBlockReference")
     (progn
      (setq ats (vlax-safearray->list (vlax-variant-value (vla-getattributes sb))))
      (vla-put-TextString (car ats)
	(if (= kw "Number") (itoa (+ n dn))
	  (itoa (+ (atoi (vla-get-TextString (car ats)) dn)))));vla-put
      (setq n (1+ n)));progn
     (alert "Oops! It's not a Block!"));if
  );vlax-for
 (setvar "CMDECHO" cmd)
 (setvar "PICKAUTO" pca)
);end
С занудским приветом
Лентяй вне форума  
 
Непрочитано 09.08.2005, 18:15
#6
{Smirnoff}

Инженер по системам безопасности
 
Регистрация: 23.11.2003
Рига
Сообщений: 1,099


>Лентяй
Цитата:
Потому как, очевидна она была бы, если бы вы, Fantomas, не умствовали, а вспомнили бы, как нумеруются сварные швы.
Я к сожалению такого вспомнить немогу, поскольку такому не обучался. Моя институтская специальность - инженер-конструктор-технолог радоэлектронной аппаратуры.
{Smirnoff} вне форума  
 
Непрочитано 11.08.2005, 12:56
#7
Лентяй

Project Engineer
 
Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392


Цитата:
Я к сожалению такого вспомнить немогу, поскольку такому не обучался. Моя институтская специальность - инженер-конструктор-технолог радоэлектронной аппаратуры.
дык я тоже - химик-технолог, хотя конструированием оборудования тоже занимаится приходится. А вы что же никогда не ревизовали чертежик какой-нить нестандартной коробочки класса IP65/В3Т4, в кою ваша начинка должна была укладываться? Везет же людям...
А я вот на досуге дополнил свою лиспу,чтобы бкувенно-цифровой номер типа ОРСТ67439 перенумеровывать. Авось, кому страждущему пригодится.
Код:
[Выделить все]
(defun C:KAN ( / ass cmd pca dn n ast val)
  (setq adoc (vla-get-ActiveDocument (vlax-get-acad-object))
	cmd (getvar "CMDECHO") pca (getvar "PICKAUTO") n 0);setq
  (setvar "CMDECHO" 0)
  (initget "Number Renumber")
  (setq kw (getkword "\n[Number/Renumber]? <N>"))
  (if (null kw) (setq kw "Number"))
  (if (= kw "Number") (setvar "PICKAUTO" 0))
  (setq dn (getint "\nInput Start or Offset Number: <1>"))
  (if (null dn) (setq dn 1))
  (prompt (strcat "\nSelect Blocks for " kw "ing: "))
  (ssget)
  (setq ass (vla-get-ActiveSelectionSet adoc))
  (vlax-for sb ass
   (if (= (vla-get-objectname sb) "AcDbBlockReference")
     (progn (setq ast (vla-get-TextString (car (vlax-safearray->list
		   (vlax-variant-value (vla-getattributes sb)))))
;Дополнение
		  val ast);setq
      (while (wcmatch val "*@*") (setq val (substr ov 2)))
      (vla-put-TextString (strcat (vl-string-right-trim val ast)
;Конец дополнения
	  (if (= kw "Number") (itoa (+ n dn))(itoa (+ (atoi val) dn)))));vla-put
      (setq n (1+ n)));progn
     (alert "Oops! It's not a Block!"));if
  );vlax-for
 (setvar "CMDECHO" cmd)
 (setvar "PICKAUTO" pca)
);end
Лентяй вне форума  
 
Непрочитано 11.08.2005, 13:24
#8
{Smirnoff}

Инженер по системам безопасности
 
Регистрация: 23.11.2003
Рига
Сообщений: 1,099


Цитата:
А вы что же никогда не ревизовали чертежик какой-нить нестандартной коробочки класса IP65/В3Т4, в кою ваша начинка должна была укладываться?
Я к сожалению вообще не работал по специальности. Все рижские радиотехнические заводы VEF, Raditehnika, Alfa, Komutator и др. накрылись медным тазом с преобретением независимости. Так что о каком конструировании могла идти речь... Тысячи иннженеров с большим опытом остались без работы. Занимаюсь проектированием слаботочки.

Кстати (уже менее занудливо) внимательно протестируй свой первый лисп. ИХМО там не всё в порядке. Особенно сочетании с (setvar "PICKAUTO" которое после ошибки так и останется 0. Молчу, уже молчу... [sm3558]
{Smirnoff} вне форума  
 
Непрочитано 11.08.2005, 13:46 Fantomas'у
#9
wmax

проектировщик противопожарных систем
 
Регистрация: 11.08.2005
Сообщений: 2


Fantomas очень понравился ваш лисп "num", очень полезная и нужная прога в моей работе, огромное спасибо и т.д., однако есть вопрос- как сделать так чтобы выводимый результат по высоте шрифта соответствовал текущему размеру шрифта размеров, или размер шрифта задавался в самом начале диалога? заранее спасисбо от всего коллектива проектировщиков
wmax вне форума  
 
Непрочитано 12.08.2005, 00:52
#10
{Smirnoff}

Инженер по системам безопасности
 
Регистрация: 23.11.2003
Рига
Сообщений: 1,099


>wmax

С запросом размера текста, при первом запросе размер текста берётся из текущего размерного стиля, в последствии сохраняется последний введённый. Выравнивание текста изменил на Middle Center. Если не нравится сотрите строку (vla-put-Alignment newNum acAlignmentMiddleCenter) или вставьте другое выравнивание из списка:
Код:
[Выделить все]
acAlignmentLeft 
acAlignmentCenter 
acAlignmentRight 
acAlignmentMiddle 
acAlignmentTopLeft 
acAlignmentTopCenter 
acAlignmentTopRight 
acAlignmentMiddleLeft 
acAlignmentMiddleCenter 
acAlignmentMiddleRight 
acAlignmentBottomLeft 
acAlignmentBottomCenter 
acAlignmentBottomRight
Код:
[Выделить все]
(defun c:num (/ oldPref oldSuf oldStart curStr newNum
	        actDoc actSp oldEcho oldSize *error*)

  (defun *error* (msg)
    (setvar "CMDECHO" oldEcho)
    (princ)
    ); end *error*
  
  (vl-load-com)
  (if(not num:Size)(setq num:Size(getvar "DIMTXT")))
  (if(not num:Pref)(setq num:Pref ""))
  (if(not num:Suf)(setq num:Suf ""))
  (if(not num:Num)(setq num:Num 1))
  (setq oldPref num:Pref
        oldSuf num:Suf
        oldStart num:Num
	oldSize num:Size
	actDoc(vla-get-ActiveDocument
		(vlax-get-acad-object))
	oldEcho(getvar "CMDECHO")
	); end setq
  (setvar "CMDECHO" 0)
  (if(= (vla-get-ActiveSpace actDoc) 1)
    (setq actSp(vla-get-ModelSpace actDoc))
    (setq actSp(vla-get-PaperSpace actDoc))
    ); end setq
  (setq num:Size(getreal(strcat "\nSpecify text size <"(rtos num:Size)">: ")))
  (if(null num:Size)(setq num:Size oldSize))
  (setq num:Pref(getstring(strcat "\nEnter prefix <"num:Pref">: ")))
  (if(= "" num:Pref)(setq num:Pref oldPref))
  (if(= "#" num:Pref)(setq num:Pref ""))
  (setq num:Suf(getstring(strcat "\nEnter suffix <"num:Suf">: ")))
  (if(= "" num:Suf)(setq num:Suf oldSuf))
  (if(= "#" num:Suf)(setq num:Suf ""))
  (setq num:Num(getint(strcat "\nEnter start number <"(itoa num:Num)">: ")))
  (if(null num:Num)(setq num:Num oldStart))
(while T
  (setq curStr(strcat num:Pref(itoa num:Num)num:Suf))
    (while(vl-string-search "#" curStr)
      (setq curStr(vl-string-subst " " "#" curStr))
      ); end while
  (setq newNum(vla-AddText actSp
        curStr (vlax-3d-point'(0.0 0.0 0.0))num:Size))
  (vla-put-Alignment newNum acAlignmentMiddleCenter)
  (command "_.copybase" "0,0" (entlast) "")
  (command "_.erase" (entlast) "")
  (command "_.pasteclip" pause)
    (setq num:Num(1+ num:Num))
  ); end while
  (princ)
  ); end of c:num
{Smirnoff} вне форума  
 
Непрочитано 12.08.2005, 09:47 Fantomas'у
#11
wmax

проектировщик противопожарных систем
 
Регистрация: 11.08.2005
Сообщений: 2


Огромное спасибо, за внимание к простым смертным, прога супер удовлетворяет на 100%...
wmax вне форума  
 
Непрочитано 12.08.2005, 15:35
#12
{Smirnoff}

Инженер по системам безопасности
 
Регистрация: 23.11.2003
Рига
Сообщений: 1,099


>wmax

В принципе могу выслать специализированный нумеровщик для пожарных шлейфов (см. картинку). Единственное у нас латиница, скажите какие буквенные обозначения внести в выпадающее меню Type. Это намного удобнее, посколку адресные петли нумеруются блоком с атрибутами, а неадресные текстом. Кажись есть у меня старый вариант не вносящий расширенных данных в блоки...

Есть и новый, после нумерации которым отрисовываются цепочки для структурных схем, но он работает только с моими блоками...
[ATTACH]1123846524.GIF[/ATTACH]
{Smirnoff} вне форума  
 
Автор темы   Непрочитано 17.08.2005, 22:13
#13
ApmeM

проектировщик
 
Регистрация: 08.04.2005
пока Волгоград
Сообщений: 199


Огромное спасибо за лисп KAN очень помог. :-)
Всех строителей с прошедшим праздником.
ApmeM вне форума  
 
Непрочитано 18.08.2005, 05:51
#14
Лентяй

Project Engineer
 
Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392


Цитата:
Огромное спасибо за лисп KAN очень помог
(Скромно опустив глаза) Пжалста-пжалста, пользуйтесь на здоровье! Не забывайте только каждый раз, набирая в командной строке (load "KAN") благодарить меня. любимого, за то, что я есть. Вот вам улучшенный согласно советам Фантомаса вариант.
Код:
[Выделить все]
(defun *error* (msg)
  (if (= msg "Function cancelled") (princ msg)(princ));if
  (setvar "CMDECHO" cmd) (setvar "PICKAUTO" pca)   
);*error*
(defun C:KAN ( / ass cmd pca dn n at ast val)
  (setq adoc (vla-get-ActiveDocument (vlax-get-acad-object))
	cmd (getvar "CMDECHO") pca (getvar "PICKAUTO") n 0);setq
  (setvar "CMDECHO" 0)
  (initget "Number Renumber")
  (setq kw (getkword "\n[Number/Renumber]? <N>"))
  (if (null kw) (setq kw "Number"))
  (if (= kw "Number") (setvar "PICKAUTO" 0))
  (setq dn (getint "\nInput Start or Offset Number: <1>"))
  (if (null dn) (setq dn 1))
  (prompt (strcat "\nSelect Blocks for " kw "ing: "))
  (ssget)
  (setq ass (vla-get-ActiveSelectionSet adoc))
  (vlax-for sb ass
   (if (= (vla-get-objectname sb) "AcDbBlockReference")
     (progn (setq at (car (vlax-safearray->list
		   (vlax-variant-value (vla-getattributes sb))))
		  ast (vla-get-TextString at) val ast);setq
      (while (wcmatch val "*@*") (setq val (substr ov 2)))
      (vla-put-TextString at (strcat (vl-string-right-trim val ast)
	  (if (= kw "Number") (itoa (+ n dn))(itoa (+ (atoi val) dn)))));vla-put
      (setq n (1+ n)));progn
     (alert "Oops! It's not a Block!"));if
  );vlax-for
 (setvar "CMDECHO" cmd)
 (setvar "PICKAUTO" pca)
);end
Лентяй вне форума  
 
Непрочитано 14.02.2012, 01:36
#15
ivanko325


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


Как функцию num дополнить возможностю поворота как в проге myOrder2.2 http://www.cad.ru/ru/forum/index.php...892&PAGEN_1=5?
ivanko325 вне форума  
 
Непрочитано 16.05.2013, 22:15
#16
Marisha18


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


Цитата:
Сообщение от {Smirnoff} Посмотреть сообщение
Пока могу предложить только две старенькие програмки для быстрой нумерации и перенумерации. Они запрашивают префикс, суфикс и стартовый номер. Нумерация происходит в "динамическм" режиме, т. е. текст номера вставляется как командой _pasteclip. Если текст содержит пробелы то необходимо заполнять их знаком #. Единичный знак # обнуляет значение суффикса или префикса. Это нужно потому то нажатие пробела в командной строке аналогично Enter.
Я совершенно не разбираюсь в написании программ. Но, судя по тому, что я прочитала, мне кажется эта прога мне может помочь. А суть моей проблемы вот в чем: Я землеустроитель и чертежи земельных участков я делаю в автокаде. Т.е. я рисую полилинией замкнутый полигон, затем на каждую точку полигона я расставляю окружности (точки) и затем каждую точку нумерую (н1, н2, ..., н487). В связи с тем, что мои земельные участки чаще всего состоят из 200 - 300 точек на нумерацию одного контура уходит много времени.

Действительно ли подходит мне эта программа и если да, то как ее скопировать отсюда чтобы она работала?
Marisha18 вне форума  
 
Непрочитано 17.05.2013, 04:11
#17
Krovlaf

геология, геодезия
 
Регистрация: 29.05.2009
Хабаровск
Сообщений: 184


Весьма увлекательное занятие - вручную расставлять точки/кружки по многосотенным вершинам земельных участков а после этого еще и вручную нумеровать эту армаду... Долгие дни, недели, зимние вечера...
Для сбережения времени стоит найти на форуме и освоить (для этого совсем не обязательно разбираться в написании программ, всего лишь научиться ими пользоваться):
Как использовать лисп
Как сделать свою панель инструментов и свои кнопки к лиспам
Расставить блоки по вершинам полилинии
Автоматическая нумерация блоков на полилинии
Нумератор, (Автоматический нумератор), (Автонумератор)
Krovlaf вне форума  
 
Непрочитано 17.05.2013, 19:26
#18
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Marisha18,
Цитата:
Сообщение от Marisha18 Посмотреть сообщение
Т.е. я рисую полилинией замкнутый полигон, затем на каждую точку полигона я расставляю окружности (точки) и затем каждую точку нумерую (н1, н2, ..., н487). В связи с тем, что мои земельные участки чаще всего состоят из 200 - 300 точек
Пробуй команду COORNP из архива ECoorE rev6.zip
Цитата:
COOR - экспорт координат
COORN -экспорт координат с нумерацией
COORT -экспорт координат с нумерацией, где номером считается ближайший к точке текст
COORNP-Координаты+Нумерация+Точки. Точки рисуются текущими режимами PDMODE and PDSIZE
COORNB - Координаты+Блок (в блок входят точка и атрибут с номером)
Так же добавлены настройки:
Суффикс, префикс, шаг инкремента, смещения, высоты текста, и символа-разделителя.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 18.05.2013, 20:40
#19
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Marisha18 Посмотреть сообщение
Я совершенно не разбираюсь в написании программ. Но, судя по тому, что я прочитала, мне кажется эта прога мне может помочь. А суть моей проблемы вот в чем: Я землеустроитель и чертежи земельных участков я делаю в автокаде. Т.е. я рисую полилинией замкнутый полигон, затем на каждую точку полигона я расставляю окружности (точки) и затем каждую точку нумерую (н1, н2, ..., н487). В связи с тем, что мои земельные участки чаще всего состоят из 200 - 300 точек на нумерацию одного контура уходит много времени.

Действительно ли подходит мне эта программа и если да, то как ее скопировать отсюда чтобы она работала?
Как вариант - это. Для того, чтобы при простановке нумерации появлялись и кружки, нужно просто добавить окружность в определение блока, используемого в обозначенной программке.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 07.04.2017, 16:21
#20
RomeO


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


Здравствуйте, Уважаемые!
Только вот сейчас набрел на вашу тему и увидел работу, цены которой (для меня точно) нет. И облегчила она мне многое. Еще раз благодарю вас всех и {Smirnoff} в особенности за код программы num.
Но вот какие мне мысли начали лезть в голову и может, если кто-то еще знает об этой теме, найдется, кто подскажет как решить вот такой вроде бы несложный вопрос.
Как встроить в эту программу окошко на подобии такого (во вложениях). Чтобы данные вводились не строкой, а в этом окошке и после нажатия клавиши "ОК" окошко закрывалось и начиналась нумерация. Код для окошка я сделал, даже программку попробовал сочинить дополнительно, чтобы переменные записывались из формы (поля в окошке т.е.), а оно вот никак не хочет запускаться. Не могу понять куда же это окно мне впихнуть.
Миниатюры
Нажмите на изображение для увеличения
Название: Окно.png
Просмотров: 515
Размер:	10.0 Кб
ID:	186229  
RomeO вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Автоматическая нумерация блоков.

Размещение рекламы