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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Программное создание размерных стилей

Программное создание размерных стилей

Ответ
Поиск в этой теме
Непрочитано 12.09.2005, 09:04
Программное создание размерных стилей
Кулик Алексей aka kpblc
Moderator
 
LISP, C# (ACAD 200[9,12,13,14])
 
С.-Петербург
Регистрация: 25.08.2003
Сообщений: 39,844

Есть небольшая проблема: надо сделать размерный стиль, и внутри него дополнительные определения для размерных стилей на угловые размеры, радиусы и т.п. Через (tblobjname) получены списки настроек, имена, но сделать повторно через (entmake) - естественно, на новом файле, только имя стиля менял,- не получается - возвращается nil.
Я понимаю, что есть некоторые значения dxf-кодов, которые являются обязательными. Какие обязательные, какие нет, мне вычислить не удалось. Поэтому собственно вопрос(ы) - даю несколько, чтобы и мне было понятно, и сразу на ошибки указали:
1. Для задания кодов 5, 6 и 7 (соответствуют dimblk, dimblk1, dimblk2) требуется имя блока - как его получать / задавать? через tblobjname или assoc? Или проще сделать через (setvar)?
2. Для кодов 340, 341 (соответственно dimtxtsty, dimldrblk) требуются уже хэндлы блоков - а к ним как обращаться?
3. Для кодов 371, 372 (соответственно dimlwd, dimlwe) требуются lineweight enum value - а это что за чудо? Для значения "ByLayer" чего надо назначать? А для "ByBlock", 0.25 etc?
---
Идти через (setvar) в данном варианте у меня что-то не получается, подозреваю, что надо использовать ActiveX-функции, но там я как свинья в ананасах, хоть скажите, в какую сторону копать.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Просмотров: 27448
 
Автор темы   Непрочитано 14.01.2009, 11:16
#81
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844


Offtop: Сейчас как раз с аналогичной задачей воюю.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 14.01.2009, 11:24
#82
acyxou


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


Holon, спасибо за ссылку, но там все на каком-то языке, которым я не владею Я так понял что прога, которая там опубликована, открывает диалоговое окно и просит выбрать что-то. В моем случае пусть это будет список размерных стилей. Я выбираю нужный мне, и потом этот стиль создается... Я правильно понял?
acyxou вне форума  
 
Непрочитано 14.01.2009, 11:33
#83
Holon

CNC
 
Регистрация: 07.07.2007
Israel
Сообщений: 302


Да ты правильно понял, только для того, чтобы вызывался стиль, тебе надо
заменить (alert "Start my function_1") на функцию которая будет создавать этот стиль.
Holon вне форума  
 
Непрочитано 14.01.2009, 12:01
#84
acyxou


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


Holon, спасибо! Взял себе на вооружение
acyxou вне форума  
 
Непрочитано 03.04.2012, 10:20
#85
Никифорова

инженер
 
Регистрация: 11.11.2009
Иркутск
Сообщений: 15
<phrase 1=


acyxou, как у вас дела? Создали ли вы "прогу при активации которой, появляется диалоговое окно и в нем от конечного пользователя требуется всего навсего выбрать из списка размерных стилей необходимый ему, после чего стиль автоматом создается. Есстественно к каждому размерному стилю будут пояснения, для чего он используется и какие в кратце его параметры" ?
Никифорова вне форума  
 
Непрочитано 25.04.2012, 17:05
#86
T@K


 
Регистрация: 16.09.2010
Воронеж
Сообщений: 3


Подскажите как бы этот стиль еще аннотативным сделать :-)
T@K вне форума  
 
Автор темы   Непрочитано 25.04.2012, 17:42
#87
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844


http://autolisp.ru/2011/03/17/howto-...tyle-or-block/
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 02.05.2012, 11:53
#88
T@K


 
Регистрация: 16.09.2010
Воронеж
Сообщений: 3


Спасибо!
T@K вне форума  
 
Непрочитано 08.04.2013, 11:01
#89
Vladimir_Sergeevich

рисую дороги, в перерывах курю Lisp
 
Регистрация: 20.04.2011
Пермь
Сообщений: 475
<phrase 1= Отправить сообщение для Vladimir_Sergeevich с помощью Skype™


Предлагаю свой набор стилей.
Частенько работа начинается с "голых" dxf файлов... одним нажатием получаю все что может приготится, лишенее _-purge...
В коллекции есть стили для планов масштаба 1:500 1:1000 1:2000 (рисование в модели 1000 масштаба) и различные масштабные стили для листов.
Также отрисовывается блок _ArchTick когда его нет в чертеже
Код:
[Выделить все]
 ;;writed by SADist
(defun c:create ( / oldcmd)
(setq oldcmd (getvar "cmdecho")) (setvar "cmdecho" 0)

;create textstyle
(entmakex (list
(cons 0 "STYLE") 
(cons 100 "AcDbSymbolTableRecord") 
(cons 100 "AcDbTextStyleTableRecord") 
(cons 2 "GOST_dim");name style
(cons 70 0)
(cons 40 0.0);fixed text height or no fixed
(cons 41 1.0);width factor
(cons 50 0.261799);oblique angle
(cons 71 0)
;(cons 42 2.5);last height used
(cons 3 "GOST_ANT.TTF");font file name
(cons 4 "");bigfont file name
);end list
);end entmake
(if (not (tblobjname "block" "_ArchTick"))  ;создание блока стрелки если его нет в чертеже
(progn
;create block begin
(entmakex (list
	(cons 0 "BLOCK") 
	(cons 100 "AcDbEntity") 
	(cons 100 "AcDbBlockBegin") 
	(cons 2 "_ArchTick");name block
	(list 10 0.0 0.0 0.0);base coord 
	(cons 70 0)
	);end list
	);end entmake

	;create pline
	(entmakex (list
	(cons 0 "LWPOLYLINE") 
	(cons 100 "AcDbEntity") 
	(cons 100 "AcDbPolyline")
	(cons 6 "ByBlock");linetype
	(cons 8 "0");layer
	(cons 90 2)
	(cons 70 0) 
	(cons 43 0.15) 
	(list 10 -0.5 -0.5) 
	(cons 40 0.15) 
	(cons 41 0.15) 
	(cons 42 0.0)
	(cons 91 0) 
	(list 10 0.5 0.5) 
	(cons 40 0.15) 
	(cons 41 0.15) 
	(cons 42 0.0)
	(cons 91 0) 
	;(list 210 0.0 0.0 1.0)
	);end list
	);end entmake
	
	;endblk
	(entmakex (list
	(cons 0 "ENDBLK") 
	(cons 100 "AcDbEntity") 
	(cons 100 "AcDbBlockEnd")
	);end list
);end entmake
);end progn
);end if



;---------------------500--------------------
(entmakex (list
(cons 0 "DIMSTYLE")
(cons 100 "AcDbSymbolTableRecord")
(cons 100 "AcDbDimStyleTableRecord")
(cons 2 "500");имя стиля
(cons 70 0)
(cons 40 (getvar "dimscale"));массштаб размерного стиля?? уменьшается вместе с засечками и текстом!
(cons 41 1) ;размер стрелки
(cons 42 0.0) ;отступ от объекта
(cons 43 3.75);шаг в базовых размерах
(cons 44 0.5) ;удлинение выносных
(cons 45 0.0) ;dimrnd
(cons 46 0.5) ;удлинение выносных
(cons 140 1.25)	;высота текста
(cons 141 1.25)	
(cons 143 0.0393701)	
(cons 145 0)	
(cons 147 0.25)	
(cons 72 0)	
(cons 73 0)	
(cons 74 0)	
(cons 77 1)	
(cons 78 1)	
(cons 79 2)	
(cons 170 0)	
(cons 172 1)	
(cons 173 0)	
(cons 174 0)	
(cons 175 1)	
(cons 176 0)	
(cons 177 0)	
(cons 178 0)	
(cons 179 0)	
(cons 271 2)	
(cons 272 2)	
(cons 275 1)	
(cons 277 2)	
;(cons 278 44)	
(cons 279 0)	
(cons 280 0)	
(cons 281 0)	
(cons 282 0)	
(cons 283 0)	
(cons 284 8)	
(cons 288 0)	
(cons 340 (tblobjname "style" "GOST_dim"))	;стиль текста для размеров
(cons 371 -2)	
(cons 372 -2)
(cons 342 (cdr  (assoc 330 (entget (tblobjname "block" "_ArchTick")))));стрелка размера 
(cons 343 (cdr  (assoc 330 (entget (tblobjname "block" "_ArchTick")))));первая стрелка
(cons 344 (cdr  (assoc 330 (entget (tblobjname "block" "_ArchTick")))));вторая стрелка
);end list
);end entmake
;---------------------500--------------------
;---------------------1000--------------------
(entmakex (list
(cons 0 "DIMSTYLE")
(cons 100 "AcDbSymbolTableRecord")
(cons 100 "AcDbDimStyleTableRecord")
(cons 2 "1000");имя стиля
(cons 70 0)
(cons 40 (getvar "dimscale"));массштаб размерного стиля?? уменьшается вместе с засечками и текстом!
(cons 41 2.0) ;размер стрелки
(cons 42 0.0) ;отступ от объекта
(cons 43 3.75);шаг в базовых размерах
(cons 44 1.0) ;удлинение выносных
(cons 45 0.0) ;dimrnd
(cons 46 1.0) ;удлинение выносных
(cons 140 2.5)	;высота текста
(cons 141 2.5)	
(cons 143 0.0393701)	
(cons 145 0)	
(cons 147 0.5)	
(cons 72 0)	
(cons 73 0)	
(cons 74 0)	
(cons 77 1)	
(cons 78 1)	
(cons 79 2)	
(cons 170 0)	
(cons 172 1)	
(cons 173 0)	
(cons 174 0)	
(cons 175 1)	
(cons 176 0)	
(cons 177 0)	
(cons 178 0)	
(cons 179 0)	
(cons 271 2)	
(cons 272 2)	
(cons 275 1)	
(cons 277 2)	
;(cons 278 44)	
(cons 279 0)	
(cons 280 0)	
(cons 281 0)	
(cons 282 0)	
(cons 283 0)	
(cons 284 8)	
(cons 288 0)	
(cons 340 (tblobjname "style" "GOST_dim"))	;стиль текста для размеров
(cons 371 -2)	
(cons 372 -2)
(cons 342 (cdr  (assoc 330 (entget (tblobjname "block" "_ArchTick") ) ) ));стрелка размера 
(cons 343 (cdr  (assoc 330 (entget (tblobjname "block" "_ArchTick") ) ) ));первая стрелка
(cons 344 (cdr  (assoc 330 (entget (tblobjname "block" "_ArchTick") ) ) ));вторая стрелка
);end list
);end entmake
;---------------------1000--------------------

;---------------------2000--------------------
(entmakex (list
(cons 0 "DIMSTYLE")
(cons 100 "AcDbSymbolTableRecord")
(cons 100 "AcDbDimStyleTableRecord")
(cons 2 "2000");имя стиля
(cons 70 0)
(cons 40 (getvar "dimscale"));массштаб размерного стиля?? уменьшается вместе с засечками и текстом!
(cons 41 4.0) ;размер стрелки
(cons 42 0.0) ;отступ от объекта
(cons 43 3.75);шаг в базовых размерах
(cons 44 2.0) ;удлинение выносных
(cons 45 0.0) ;dimrnd
(cons 46 2.0) ;удлинение выносных
(cons 140 5.0)	;высота текста
(cons 141 5.0)	
(cons 143 0.0393701)	
(cons 145 0)	
(cons 147 1.0)	
(cons 72 0)	
(cons 73 0)	
(cons 74 0)	
(cons 77 1)	
(cons 78 1)	
(cons 79 2)	
(cons 170 0)	
(cons 172 1)	
(cons 173 0)	
(cons 174 0)	
(cons 175 1)	
(cons 176 0)	
(cons 177 0)	
(cons 178 0)	
(cons 179 0)	
(cons 271 2)	
(cons 272 2)	
(cons 275 1)	
(cons 277 2)	
;(cons 278 44)	
(cons 279 0)	
(cons 280 0)	
(cons 281 0)	
(cons 282 0)	
(cons 283 0)	
(cons 284 8)	
(cons 288 0)	
(cons 340 (tblobjname "style" "GOST_dim"))	;стиль текста для размеров
(cons 371 -2)	
(cons 372 -2)
(cons 342 (cdr  (assoc 330 (entget (tblobjname "block" "_ArchTick") ) ) ));стрелка размера 
(cons 343 (cdr  (assoc 330 (entget (tblobjname "block" "_ArchTick") ) ) ));первая стрелка
(cons 344 (cdr  (assoc 330 (entget (tblobjname "block" "_ArchTick") ) ) ));вторая стрелка
);end list
);end entmake
;---------------------2000--------------------

;---------------------R500--------------------
(entmakex (list
(cons 0 "DIMSTYLE")
(cons 100 "AcDbSymbolTableRecord")
(cons 100 "AcDbDimStyleTableRecord")
(cons 2 "R500");имя стиля
(cons 70 0)
(cons 40 (getvar "dimscale"));массштаб размерного стиля?? уменьшается вместе с засечками и текстом!
(cons 41 1.0) ;размер стрелки
(cons 42 0.0) ;отступ от объекта
(cons 43 3.75);шаг в базовых размерах
(cons 44 0.5) ;удлинение выносных
(cons 45 0) ;dimrnd величина округления
(cons 46 0.5) ;удлинение выносных
(cons 140 1.25)	;высота текста
(cons 141 1.25)	
(cons 143 0.0393701)	
(cons 145 0)	
(cons 147 0.5)	
(cons 72 0)	
(cons 73 0)	
(cons 74 0)	
(cons 77 1)	
(cons 78 8)	
(cons 79 2)	
(cons 170 0)	
(cons 172 1)	
(cons 173 0)	
(cons 174 0)	
(cons 175 1)	
(cons 176 0)	
(cons 177 0)	
(cons 178 0)	
(cons 179 0)	
(cons 271 2)	
(cons 272 2)	
(cons 275 1)	
(cons 277 2)	
;(cons 278 44)	
(cons 279 0)	
(cons 280 0)	
(cons 281 0)	
(cons 282 0)	
(cons 283 0)	
(cons 284 8)	
(cons 288 0)	
(cons 340 (tblobjname "style" "GOST_dim"))	;стиль текста для размеров
(cons 371 -2)	
(cons 372 -2)
;(cons 342 "");стрелка размера 
;(cons 343 "");первая стрелка
;(cons 344 "");вторая стрелка
);end list
);end entmake
;---------------------R500--------------------
;---------------------R1000--------------------
(entmakex (list
(cons 0 "DIMSTYLE")
(cons 100 "AcDbSymbolTableRecord")
(cons 100 "AcDbDimStyleTableRecord")
(cons 2 "R1000");имя стиля
(cons 70 0)
(cons 40 (getvar "dimscale"));массштаб размерного стиля?? уменьшается вместе с засечками и текстом!
(cons 41 2.0) ;размер стрелки
(cons 42 0.0) ;отступ от объекта
(cons 43 3.75);шаг в базовых размерах
(cons 44 1.0) ;удлинение выносных
(cons 45 0) ;dimrnd величина округления
(cons 46 1.0) ;удлинение выносных
(cons 140 2.5)	;высота текста
(cons 141 2.5)	;высота маркера текста
(cons 143 0.0393701)	
(cons 145 0)	
(cons 147 0.5)	
(cons 72 0)	
(cons 73 0)	
(cons 74 0)	
(cons 77 1)	
(cons 78 8)	
(cons 79 2)	
(cons 170 0)	
(cons 172 1)	
(cons 173 0)	
(cons 174 0)	
(cons 175 1)	
(cons 176 0)	
(cons 177 0)	
(cons 178 0)	
(cons 179 0)	
(cons 271 2)	
(cons 272 2)	
(cons 275 1)	
(cons 277 2)	
;(cons 278 44)	
(cons 279 0)	
(cons 280 0)	
(cons 281 0)	
(cons 282 0)	
(cons 283 0)	
(cons 284 8)	
(cons 288 0)	
(cons 340 (tblobjname "style" "GOST_dim"))	;стиль текста для размеров
(cons 371 -2)	
(cons 372 -2)
;(cons 342 "");стрелка размера 
;(cons 343 "");первая стрелка
;(cons 344 "");вторая стрелка
);end list
);end entmake
;---------------------R1000--------------------


;---------------------R2000--------------------
(entmakex (list
(cons 0 "DIMSTYLE")
(cons 100 "AcDbSymbolTableRecord")
(cons 100 "AcDbDimStyleTableRecord")
(cons 2 "R2000");имя стиля
(cons 70 0)
(cons 40 (getvar "dimscale"));массштаб размерного стиля?? уменьшается вместе с засечками и текстом!
(cons 41 4.0) ;размер стрелки
(cons 42 0.0) ;отступ от объекта
(cons 43 3.75);шаг в базовых размерах
(cons 44 2.0) ;удлинение выносных
(cons 45 0) ;dimrnd величина округления
(cons 46 2.0) ;удлинение выносных
(cons 140 5.0)	;высота текста
(cons 141 0.09)	;высота маркера текста
(cons 143 0.0393701)	
(cons 145 0)	
(cons 147 1.0)	
(cons 72 0)	
(cons 73 0)	
(cons 74 0)	
(cons 77 1)	
(cons 78 8)	;подавление нулей в размерах(4/8/12)
(cons 79 2)	;-//- в угловых размерах
(cons 170 0)	
(cons 172 1)	
(cons 173 0)	
(cons 174 0)	
(cons 175 1)	
(cons 176 0)	
(cons 177 0)	
(cons 178 0)	
(cons 179 0)	
(cons 271 2)	
(cons 272 2)	
(cons 275 1)	
(cons 277 2)	
;(cons 278 44)	
(cons 279 0)	
(cons 280 0)	
(cons 281 0)	
(cons 282 0)	
(cons 283 0)	
(cons 284 8)	
(cons 288 0)	
(cons 340 (tblobjname "style" "GOST_dim"))	;стиль текста для размеров
(cons 371 -2)	
(cons 372 -2)
;(cons 342 "");стрелка размера 
;(cons 343 "");первая стрелка
;(cons 344 "");вторая стрелка
);end list
);end entmake
;---------------------R2000--------------------


;----------------------1-100--------------------
(entmakex (list
(cons 0 "DIMSTYLE")
(cons 100 "AcDbSymbolTableRecord")
(cons 100 "AcDbDimStyleTableRecord")
(cons 2 "1-100");имя стиля
(cons 70 0)
(cons 40 (getvar "dimscale"));[общий масштабный коэффициент]?? уменьшается вместе с засечками и текстом!
(cons 41 2.0) ;размер стрелки
(cons 42 0.0) ;отступ начала выносных от объекта
(cons 43 0.38);отступ размерных линий
(cons 44 1.0) ;удлинение выносных
(cons 45 0) ;dimrnd величина округления
(cons 46 1.0) ;удлинение выносных
(cons 140 2.5)	;высота текста
(cons 141 0.09)	;высота маркера текста
(cons 143 0.0393701)	
(cons 144 0.1) 	;массштабный коэффициент для линейных единиц
(cons 145 0)	
(cons 147 0.5)	;зазор между размерной линией и текстом
(cons 72 0)	
(cons 73 0)	;текст горизонтально(откл)
(cons 74 0)	;текст горизонтально(откл)
(cons 77 1)	;текст над размерной линией
(cons 78 1)	;подавление нулей
(cons 79 2)	;подавление нулей в угловых размерах(3/4/8/12)
(cons 170 0)	
(cons 172 1)	
(cons 173 0)	;разные блоки стрелок
(cons 174 0)	
(cons 175 1)	;запрет размерной за пределами выносной
(cons 176 0)	;цвет размерной линии и выноски
(cons 177 0)	;цвет выносной линии
(cons 178 0)	;цвет размерного текста
(cons 179 0)	;десятичных знаков в угловых размерах
(cons 271 2)	;колво десятичных знаков
(cons 272 2)	;-//-в допусках
(cons 275 1)	;формат угловых единиц
(cons 277 2)	;формат линейных единиц
;(cons 278 44)	;десятичный разделитель ","
(cons 279 0)	
(cons 280 0)	;выравнивание текста на размерной линии
(cons 281 0)	
(cons 282 0)	
(cons 283 0)	
(cons 284 8)	
(cons 288 0)	;произвольное положение текста
(cons 340 (tblobjname "style" "GOST_dim"))	;стиль текста для размеров
(cons 371 -2)	;вес размерной
(cons 372 -2)	;вес выносной
(cons 342 (cdr  (assoc 330 (entget (tblobjname "block" "_ArchTick")))));стрелка размера 
(cons 343 (cdr  (assoc 330 (entget (tblobjname "block" "_ArchTick")))));первая стрелка
(cons 344 (cdr  (assoc 330 (entget (tblobjname "block" "_ArchTick")))));вторая стрелка
);end list
);end entmake
;---------------------1-100--------------------


;----------------------1-2000--------------------
(entmakex (list
(cons 0 "DIMSTYLE")
(cons 100 "AcDbSymbolTableRecord")
(cons 100 "AcDbDimStyleTableRecord")
(cons 2 "1-2000");имя стиля
(cons 70 0)
(cons 40 (getvar "dimscale"));[общий масштабный коэффициент]?? уменьшается вместе с засечками и текстом!
(cons 41 2.0) ;размер стрелки
(cons 42 0.0) ;отступ начала выносных от объекта
(cons 43 0.38);отступ размерных линий
(cons 44 1.0) ;удлинение выносных
(cons 45 0) ;dimrnd величина округления
(cons 46 1.0) ;удлинение выносных
(cons 140 2.5)	;высота текста
(cons 141 0.09)	;высота маркера текста
(cons 143 0.0393701)	
(cons 144 2.0) 	;массштабный коэффициент для линейных единиц
(cons 145 0)	
(cons 147 0.5)	;зазор между размерной линией и текстом
(cons 72 0)	
(cons 73 0)	;текст горизонтально(откл)
(cons 74 0)	;текст горизонтально(откл)
(cons 77 1)	;текст над размерной линией
(cons 78 1)	;подавление нулей
(cons 79 2)	;подавление нулей в угловых размерах(3/4/8/12)
(cons 170 0)	
(cons 172 1)	
(cons 173 0)	;разные блоки стрелок
(cons 174 0)	
(cons 175 1)	;запрет размерной за пределами выносной
(cons 176 0)	;цвет размерной линии и выноски
(cons 177 0)	;цвет выносной линии
(cons 178 0)	;цвет размерного текста
(cons 179 0)	;десятичных знаков в угловых размерах
(cons 271 2)	;колво десятичных знаков
(cons 272 2)	;-//-в допусках
(cons 275 1)	;формат угловых единиц
(cons 277 2)	;формат линейных единиц
;(cons 278 44)	;десятичный разделитель ","
(cons 279 0)	
(cons 280 0)	;выравнивание текста на размерной линии
(cons 281 0)	
(cons 282 0)	
(cons 283 0)	
(cons 284 8)	
(cons 288 0)	;произвольное положение текста
(cons 340 (tblobjname "style" "GOST_dim"))	;стиль текста для размеров
(cons 371 -2)	;вес размерной
(cons 372 -2)	;вес выносной
(cons 342 (cdr  (assoc 330 (entget (tblobjname "block" "_ArchTick")))));стрелка размера 
(cons 343 (cdr  (assoc 330 (entget (tblobjname "block" "_ArchTick")))));первая стрелка
(cons 344 (cdr  (assoc 330 (entget (tblobjname "block" "_ArchTick")))));вторая стрелка
);end list
);end entmake
;---------------------1-2000--------------------

;----------------------1-200--------------------
(entmakex (list
(cons 0 "DIMSTYLE")
(cons 100 "AcDbSymbolTableRecord")
(cons 100 "AcDbDimStyleTableRecord")
(cons 2 "1-200");имя стиля
(cons 70 0)
(cons 40 (getvar "dimscale"));[общий масштабный коэффициент]?? уменьшается вместе с засечками и текстом!
(cons 41 2.0) ;размер стрелки
(cons 42 0.0) ;отступ начала выносных от объекта
(cons 43 0.38);отступ размерных линий
(cons 44 1.0) ;удлинение выносных
(cons 45 0) ;dimrnd величина округления
(cons 46 1.0) ;удлинение выносных
(cons 140 2.5)	;высота текста
(cons 141 0.09)	;высота маркера текста
(cons 143 0.0393701)	
(cons 144 0.2) 	;массштабный коэффициент для линейных единиц
(cons 145 0)	
(cons 147 0.5)	;зазор между размерной линией и текстом
(cons 72 0)	
(cons 73 0)	;текст горизонтально(откл)
(cons 74 0)	;текст горизонтально(откл)
(cons 77 1)	;текст над размерной линией
(cons 78 1)	;подавление нулей
(cons 79 2)	;подавление нулей в угловых размерах(3/4/8/12)
(cons 170 0)	
(cons 172 1)	
(cons 173 0)	;разные блоки стрелок
(cons 174 0)	
(cons 175 1)	;запрет размерной за пределами выносной
(cons 176 0)	;цвет размерной линии и выноски
(cons 177 0)	;цвет выносной линии
(cons 178 0)	;цвет размерного текста
(cons 179 0)	;десятичных знаков в угловых размерах
(cons 271 2)	;колво десятичных знаков
(cons 272 2)	;-//-в допусках
(cons 275 1)	;формат угловых единиц
(cons 277 2)	;формат линейных единиц
;(cons 278 44)	;десятичный разделитель ","
(cons 279 0)	
(cons 280 0)	;выравнивание текста на размерной линии
(cons 281 0)	
(cons 282 0)	
(cons 283 0)	
(cons 284 8)	
(cons 288 0)	;произвольное положение текста
(cons 340 (tblobjname "style" "GOST_dim"))	;стиль текста для размеров
(cons 371 -2)	;вес размерной
(cons 372 -2)	;вес выносной
(cons 342 (cdr  (assoc 330 (entget (tblobjname "block" "_ArchTick")))));стрелка размера 
(cons 343 (cdr  (assoc 330 (entget (tblobjname "block" "_ArchTick")))));первая стрелка
(cons 344 (cdr  (assoc 330 (entget (tblobjname "block" "_ArchTick")))));вторая стрелка
);end list
);end entmake
;---------------------1-200--------------------


;----------------------1-20--------------------
(entmakex (list
(cons 0 "DIMSTYLE")
(cons 100 "AcDbSymbolTableRecord")
(cons 100 "AcDbDimStyleTableRecord")
(cons 2 "1-20");имя стиля
(cons 70 0)
(cons 40 (getvar "dimscale"));[общий масштабный коэффициент]?? уменьшается вместе с засечками и текстом!
(cons 41 2.0) ;размер стрелки
(cons 42 0.0) ;отступ начала выносных от объекта
(cons 43 0.38);отступ размерных линий
(cons 44 1.0) ;удлинение выносных
(cons 45 0) ;dimrnd величина округления
(cons 46 1.0) ;удлинение выносных
(cons 140 2.5)	;высота текста
(cons 141 0.09)	;высота маркера текста
(cons 143 0.0393701)	
(cons 144 0.02) 	;массштабный коэффициент для линейных единиц
(cons 145 0)	
(cons 147 0.5)	;зазор между размерной линией и текстом
(cons 72 0)	
(cons 73 0)	;текст горизонтально(откл)
(cons 74 0)	;текст горизонтально(откл)
(cons 77 1)	;текст над размерной линией
(cons 78 1)	;подавление нулей
(cons 79 2)	;подавление нулей в угловых размерах(3/4/8/12)
(cons 170 0)	
(cons 172 1)	
(cons 173 0)	;разные блоки стрелок
(cons 174 0)	
(cons 175 1)	;запрет размерной за пределами выносной
(cons 176 0)	;цвет размерной линии и выноски
(cons 177 0)	;цвет выносной линии
(cons 178 0)	;цвет размерного текста
(cons 179 0)	;десятичных знаков в угловых размерах
(cons 271 2)	;колво десятичных знаков
(cons 272 2)	;-//-в допусках
(cons 275 1)	;формат угловых единиц
(cons 277 2)	;формат линейных единиц
;(cons 278 44)	;десятичный разделитель ","
(cons 279 0)	
(cons 280 0)	;выравнивание текста на размерной линии
(cons 281 0)	
(cons 282 0)	
(cons 283 0)	
(cons 284 8)	
(cons 288 0)	;произвольное положение текста
(cons 340 (tblobjname "style" "GOST_dim"))	;стиль текста для размеров
(cons 371 -2)	;вес размерной
(cons 372 -2)	;вес выносной
(cons 342 (cdr  (assoc 330 (entget (tblobjname "block" "_ArchTick")))));стрелка размера 
(cons 343 (cdr  (assoc 330 (entget (tblobjname "block" "_ArchTick")))));первая стрелка
(cons 344 (cdr  (assoc 330 (entget (tblobjname "block" "_ArchTick")))));вторая стрелка
);end list
);end entmake
;---------------------1-20--------------------

;----------------------1-50--------------------
(entmakex (list
(cons 0 "DIMSTYLE")
(cons 100 "AcDbSymbolTableRecord")
(cons 100 "AcDbDimStyleTableRecord")
(cons 2 "1-50");имя стиля
(cons 70 0)
(cons 40 (getvar "dimscale"));[общий масштабный коэффициент]?? уменьшается вместе с засечками и текстом!
(cons 41 2.0) ;размер стрелки
(cons 42 0.0) ;отступ начала выносных от объекта
(cons 43 0.38);отступ размерных линий
(cons 44 1.0) ;удлинение выносных
(cons 45 0) ;dimrnd величина округления
(cons 46 1.0) ;удлинение выносных
(cons 140 2.5)	;высота текста
(cons 141 0.09)	;высота маркера текста
(cons 143 0.0393701)	
(cons 144 0.05) 	;массштабный коэффициент для линейных единиц
(cons 145 0)	
(cons 147 0.5)	;зазор между размерной линией и текстом
(cons 72 0)	
(cons 73 0)	;текст горизонтально(откл)
(cons 74 0)	;текст горизонтально(откл)
(cons 77 1)	;текст над размерной линией
(cons 78 1)	;подавление нулей
(cons 79 2)	;подавление нулей в угловых размерах(3/4/8/12)
(cons 170 0)	
(cons 172 1)	
(cons 173 0)	;разные блоки стрелок
(cons 174 0)	
(cons 175 1)	;запрет размерной за пределами выносной
(cons 176 0)	;цвет размерной линии и выноски
(cons 177 0)	;цвет выносной линии
(cons 178 0)	;цвет размерного текста
(cons 179 0)	;десятичных знаков в угловых размерах
(cons 271 2)	;колво десятичных знаков
(cons 272 2)	;-//-в допусках
(cons 275 1)	;формат угловых единиц
(cons 277 2)	;формат линейных единиц
;(cons 278 44)	;десятичный разделитель ","
(cons 279 0)	
(cons 280 0)	;выравнивание текста на размерной линии
(cons 281 0)	
(cons 282 0)	
(cons 283 0)	
(cons 284 8)	
(cons 288 0)	;произвольное положение текста
(cons 340 (tblobjname "style" "GOST_dim"))	;стиль текста для размеров
(cons 371 -2)	;вес размерной
(cons 372 -2)	;вес выносной
(cons 342 (cdr  (assoc 330 (entget (tblobjname "block" "_ArchTick")))));стрелка размера 
(cons 343 (cdr  (assoc 330 (entget (tblobjname "block" "_ArchTick")))));первая стрелка
(cons 344 (cdr  (assoc 330 (entget (tblobjname "block" "_ArchTick")))));вторая стрелка
);end list
);end entmake
;---------------------1-50--------------------
(setvar "cmdecho" oldcmd)
(princ)
);end defun
Может и громоздко, но просто и понятно. Можно быстро изменить под свои нужды...
__________________
Не труд сделал из обезьяны человека, а лень и жажда халявы...
Vladimir_Sergeevich вне форума  
 
Непрочитано 08.04.2013, 12:59
#90
hwd

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


Цитата:
Сообщение от Vladimir_Sergeevich Посмотреть сообщение
Может и громоздко, но просто и понятно. Можно быстро изменить под свои нужды...
Некий аналог на .NET здесь, с той лишь разницей, что подробный комментарий дан по каждой опции соответствующего диалогового окна...

А это есть зло:
Цитата:
стили для планов масштаба 1:500 1:1000 1:2000 (рисование в модели 1000 масштаба) и различные масштабные стили для листов.
Правильней пользоваться аннотативностью, а не плодить стили под каждый масштаб.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось hwd, 08.04.2013 в 13:06.
hwd вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Программное создание размерных стилей

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