Тема: *.dim -> добавить Dimension Style

Как добавить программно Dimension  Style из файла с раcширением *.dim

Re: *.dim -> добавить Dimension Style

Ты в какой программе пишешь?
Если в автокаде, то приведи пример содержимого этого файла.

Re: *.dim -> добавить Dimension Style

Я пишу в VBA for AutoCAD. Пример файла можешь получить следующим образом
1.Я могу выслать на e-mail
2.Получить самому через меню Express->Dimension->DimStyle Export

Re: *.dim -> добавить Dimension Style

Попробовал, вот что получил для 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?

И в чем проблема?

Re: *.dim -> добавить Dimension Style

Во-первых, почему бы не поискать стандартную процедуру перед написанием своей.
Во-вторых,  в версиях AutoCAD 2008, 2009, 2010  системных переменных
DIMLT ByBlock 157   0
DIMEX1LT ByBlock 157   0
DIMEX2LT ByBlock 157   0

не найдено. В третьих, напротив других системных переменных стоит одно значение, а тут целых три.
Возникает вопрос, чтобы это значило?

Re: *.dim -> добавить Dimension Style

Vadim пишет:

Во-первых, почему бы не поискать стандартную процедуру перед написанием своей.

Ну и пользуйся Express'ами.

Vadim пишет:

Во-вторых,в версиях 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, наверно там проще.