Тема: *.dim -> добавить Dimension Style
Как добавить программно Dimension Style из файла с раcширением *.dim
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → VBA → *.dim -> добавить Dimension Style
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Как добавить программно Dimension Style из файла с раcширением *.dim
Ты в какой программе пишешь?
Если в автокаде, то приведи пример содержимого этого файла.
Я пишу в VBA for AutoCAD. Пример файла можешь получить следующим образом
1.Я могу выслать на e-mail
2.Получить самому через меню Express->Dimension->DimStyle Export
Попробовал, вот что получил для ISO_25
DIMENSION_STYLE_NAME 01F2E200 DIMTOL 0 DIMLIM 0 DIMTIH 0 DIMTOH 0 DIMSE1 0 DIMSE2 0 DIMALT 0 DIMTOFL 1 DIMSAH 0 DIMTIX 0 DIMSOXD 0 DIMSD1 0 DIMSD2 0 DIMUPT 0 DIMTOLJ 0 DIMDSEP 44 DIMALTD 3 DIMZIN 8 DIMJUST 0 DIMFIT 3 DIMTZIN 8 DIMALTZ 0 DIMALTTZ 0 DIMTAD 1 DIMUNIT 2 DIMAUNIT 0 DIMDEC 2 DIMTDEC 2 DIMALTU 2 DIMALTTD 3 DIMADEC 0 DIMAZIN 0 DIMATFIT 3 DIMFRAC 0 DIMLUNIT 2 DIMTMOVE 0 DIMTXSTY Standard DIMTXT_FULLINFO 1 DIMTXT_ISSHAPE 0 DIMTXT_ISVERTICAL 0 DIMTXT_TXTSIZE 0 DIMTXT_XSCALE 1 DIMTXT_OANGLE 0 DIMTXT_FLAGS 0 DIMTXT_PRIORSIZE 2.5 DIMTXT_FILENAME txt.shx DIMTXT_BIGFILE . DIMTXT_FONT . DIMTXT_BOLD 0 DIMTXT_ITALIC 0 DIMTXT_CHARSET 0 DIMTXT_PITCH 0 END_DIMTXT DIMSCALE 1 DIMASZ 2.5 DIMEXO 0.625 DIMDLI 3.75 DIMEXE 1.25 DIMRND 0 DIMDLE 0 DIMTP 0 DIMTM 0 DIMTXT 2.5 DIMCEN 2.5 DIMTSZ 0 DIMALTF 0.0393701 DIMLFAC 1 DIMTVP 0 DIMTFAC 1 DIMGAP 0.625 DIMALTRND 0 DIMPOST . DIMAPOST . DIMBLK . DIMBLK1 . DIMBLK2 . DIMLDRBLK . DIMCLRD 0 DIMCLRE 0 DIMCLRT 0 DIMLWD -2 DIMLWE -2 DIMBGFLAG 0 DIMBGMASK 0 DIMLT ByBlock 157 0 LTYPE 5 14 330 5 100 AcDbSymbolTableRecord 100 AcDbLinetypeTableRecord 2 ByBlock 70 0 3 72 65 73 0 40 0.0 A D \ M L e a d e r DIMEX1LT ByBlock 157 0 LTYPE 5 14 330 5 100 AcDbSymbolTableRecord 100 AcDbLinetypeTableRecord 2 ByBlock 70 0 3 72 65 73 0 40 0.0 A D \ M L e a d e r DIMEX2LT ByBlock 157 0 LTYPE 5 14 330 5 100 AcDbSymbolTableRecord 100 AcDbLinetypeTableRecord 2 ByBlock 70 0 3 72 65 73 0 40 0.0 A D \ M L e a d e r DIMFIXED 0 DIMFIXLEN 1 DIMSYMPLACE 0 DIMJOGANGLE 1.5707963267948966 END_OF_STYLE 01F2E200
И ты хочешь на основе этого создать разм.стиль, без использования Express Tools?
И в чем проблема?
Во-первых, почему бы не поискать стандартную процедуру перед написанием своей.
Во-вторых, в версиях AutoCAD 2008, 2009, 2010 системных переменных
DIMLT ByBlock 157 0
DIMEX1LT ByBlock 157 0
DIMEX2LT ByBlock 157 0
не найдено. В третьих, напротив других системных переменных стоит одно значение, а тут целых три.
Возникает вопрос, чтобы это значило?
Во-первых, почему бы не поискать стандартную процедуру перед написанием своей.
Ну и пользуйся Express'ами.
Во-вторых,в версиях AutoCAD 2008, 2009, 2010системных переменных
DIMLT ByBlock 157 0
DIMEX1LT ByBlock 157 0
DIMEX2LT ByBlock 157 0
не найдено. В третьих, напротив других системных переменных стоит одно значение, а тут целых три.
Возникает вопрос, чтобы это значило?
Ну, вот так в Express'e сделано, их дело.
Очевидно, что это установки типа линий DIMLTYPE, DIMLTEX1, DIMLTEX2, их же одним значением не обозначить.
И не три значение, мне кажется так:
DIMLT ByBlock 157 0 LTYPE 5 14 330 5 100 AcDbSymbolTableRecord 100 AcDbLinetypeTableRecord 2 ByBlock 70 0 3 72 65 73 0 40 0.0
Это все относится к настройке типа линии DIMLTYPE.
Начиная с LTYPE похоже на DXF пары.
Правда группа 5 - 14, на хендл не похоже.
Не пробовал создавать объекты по dxf парам. Это для лисповедов раз плюнуть.
Но, не зря наверно эта функция в Express'ах реализована на ARX, наверно там проще.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → VBA → *.dim -> добавить Dimension Style
Форум работает на PunBB, при поддержке Informer Technologies, Inc