Тема: DIMENSION DXF

Доброго здоровья всем.
Возникла проблема. Необходимо сохранять обьект в формате DXF с его размерами.
Взял примерчик из https://www.caduser.ru/forum/topic11237.html
Занимает всего 256 байт.Дорисовал одину размерную линию и сохранил его в том же формате.
Так после этого размер стал 76.261 байт.
В такой разнице в размерах невозможно определить где происходит описание этих "размерных линий".
Будте добры обьясните по какому принципу происходит описание этих всех размерных элементов.
Если можно, то кусочки кода на С, или ссылки хоть на какую нибудь информацию про DIMENSION.
Зараннее благодарен.

Re: DIMENSION DXF

Рекомендую сначала посмотреть спецификацию DXF.
Дело в том, что АКАД сохраняет в DXF очень много информации в том числе и служебной.
Описание примитивов как таковых находится в секции ENTITIES. Кроме того, описание размерного стиля в таблице стилей, текстовый стиль тоже должен быть описан, кажется еще что то с асоциативностью связанное...

Re: DIMENSION DXF

Вот как описан размер в базе Акада:
Команда: (entget(car(entsel)))
Выберите объект: ((-1 . <Имя объекта: 7ef54d78>) (0 . "DIMENSION") (330 . <Имя объекта: 7ef54d18>) (5 . "2F") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbDimension") (2 . "*D1") (10 189.023 170.509 0.0) (11 137.471 172.592 0.0) (12 0.0 0.0 0.0) (70 . 32) (1 . "") (71 . 5) (72 . 1) (41 . 1.0) (42 . 103.103) (52 . 0.0) (53 . 0.0) (54 . 0.0) (51 . 0.0) (210 0.0 0.0 1.0) (3 . "ISO-25") (100 . "AcDbAlignedDimension") (13 85.9196 206.787 0.0) (14 189.023 207.755 0.0) (15 0.0 0.0 0.0) (16 0.0 0.0 0.0) (40 . 0.0) (50 . 0.0) (100 . "AcDbRotatedDimension"))
Признак размера - (0 . "DIMENSION"), в группе 0 стоит имя примитива.
В DXF коде тоже нужно искать  DIMENSION.
  0
SECTION
  2
ENTITIES
  0
DIMENSION
...
100
AcDbRotatedDimension
  0
ENDSEC
Но размер - составной примитив, в него еще входит блок *D1 - (2 . "*D1"), и имя примененного размерного стиля - (3 . "ISO-25") .

Re: DIMENSION DXF

Вот файл
0
SECTION
2
BLOCKS
0
ENDSEC
0
SECTION
2
ENTITIES

0
DIMENSION
  начало секции размерности
А дальше?
8
0
62
3
2
0
10
134.929
20
-85.4814
30
0
11
135.703
21
-85.8097
31
0
70
5
13
84.6807
23
-72.469
33
0
14
85.5107
24
-34.0248
34
0
15
57.4547
25
-52.6501
35
0
0
ENDSEC
0
EOF
В докуменитации по формату dxf файла, я не обнаружил ни одного упоминания про эти цыфры.
Как их понимать.
Если можно самый простенький пример:
Линия и ее размер (например по Х).
Буду очень признателен.

Re: DIMENSION DXF

да все там есть....
вот кусочек твоего примера
DIMENSION начало секции размерности
А дальше?
8 группа 8 DXF
0 значение группы 8 - слой "0"
62 группа 62 DXF (цвет)
3 значение группы 62 (цвет ?3)
2 группа 2 (имя блока?)
0 значение группы2
10 группа (координата X)
134.929 значение X
20 группа (координата Y)
-85.4814 значение Y
.......
ну и так далее

Re: DIMENSION DXF

Прочитал все о размерах DXF Format \ENTITIES Section\DIMENSION Aligned Dimension Group Codes
В данном ниже файле
AcDbAlignedDimension даже не пресутствует.
Помогите разрбраться.Мне нужно программно задавать 2 точки
и они должны сохраняться в dxf формате, как размерная линия.
Зараннее спасибо за любую информацию.
П.С. как выкладывать файлы, что бы была только ссылка?

0
SECTION
  2
HEADER
  9
$ACADVER
  1
AC1009
  9
$INSBASE
 10
0.0
 20
0.0
 30
0.0
  9
$EXTMIN
 10
57.454700000000003
 20
-104.6438053106711
 30
0.0
  9
$EXTMAX
 10
277.78866125586183
 20
-5.203524246333088
 30
0.0
  9
$LIMMIN
 10
0.0
 20
0.0
  9
$LIMMAX
 10
12.0
 20
9.0
  9
$ORTHOMODE
 70
     0
  9
$REGENMODE
 70
     1
  9
$FILLMODE
 70
     1
  9
$QTEXTMODE
 70
     0
  9
$MIRRTEXT
 70
     0
  9
$DRAGMODE
 70
     2
  9
$LTSCALE
 40
1.0
  9
$OSMODE
 70
  3071
  9
$ATTMODE
 70
     1
  9
$TEXTSIZE
 40
0.2
  9
$TRACEWID
 40
0.05
  9
$TEXTSTYLE
  7
STANDARD
  9
$CLAYER
  8
0
  9
$CELTYPE
  6
BYLAYER
  9
$CECOLOR
 62
   256
  9
$DIMSCALE
 40
1.0
  9
$DIMASZ
 40
0.18
  9
$DIMEXO
 40
0.0625
  9
$DIMDLI
 40
0.38
  9
$DIMRND
 40
0.0
  9
$DIMDLE
 40
0.0
  9
$DIMEXE
 40
0.18
  9
$DIMTP
 40
0.0
  9
$DIMTM
 40
0.0
  9
$DIMTXT
 40
0.18
  9
$DIMCEN
 40
0.09
  9
$DIMTSZ
 40
0.0
  9
$DIMTOL
 70
     0
  9
$DIMLIM
 70
     0
  9
$DIMTIH
 70
     1
  9
$DIMTOH
 70
     1
  9
$DIMSE1
 70
     0
  9
$DIMSE2
 70
     0
  9
$DIMTAD
 70
     0
  9
$DIMZIN
 70
     0
  9
$DIMBLK
  1
  9
$DIMASO
 70
     1
  9
$DIMSHO
 70
     1
  9
$DIMPOST
  1
  9
$DIMAPOST
  1
  9
$DIMALT
 70
     0
  9
$DIMALTD
 70
     2
  9
$DIMALTF
 40
25.399999999999999
  9
$DIMLFAC
 40
1.0
  9
$DIMTOFL
 70
     0
  9
$DIMTVP
 40
0.0
  9
$DIMTIX
 70
     0
  9
$DIMSOXD
 70
     0
  9
$DIMSAH
 70
     0
  9
$DIMBLK1
  1
  9
$DIMBLK2
  1
  9
$DIMSTYLE
  2
STANDARD
  9
$DIMCLRD
 70
     0
  9
$DIMCLRE
 70
     0
  9
$DIMCLRT
 70
     0
  9
$DIMTFAC
 40
1.0
  9
$DIMGAP
 40
0.09
  9
$LUNITS
 70
     2
  9
$LUPREC
 70
     4
  9
$SKETCHINC
 40
0.1
  9
$FILLETRAD
 40
0.0
  9
$AUNITS
 70
     0
  9
$AUPREC
 70
     0
  9
$MENU
  1
.
  9
$ELEVATION
 40
0.0
  9
$PELEVATION
 40
0.0
  9
$THICKNESS
 40
0.0
  9
$LIMCHECK
 70
     0
  9
$BLIPMODE
 70
     0
  9
$CHAMFERA
 40
0.0
  9
$CHAMFERB
 40
0.0
  9
$SKPOLY
 70
     0
  9
$TDCREATE
 40
2453413.5838971529
  9
$TDUPDATE
 40
2453417.0456644911
  9
$TDINDWG
 40
0.0264111227
  9
$TDUSRTIMER
 40
0.0263914236
  9
$USRTIMER
 70
     1
  9
$ANGBASE
 50
0.0
  9
$ANGDIR
 70
     0
  9
$PDMODE
 70
     0
  9
$PDSIZE
 40
0.0
  9
$PLINEWID
 40
0.0
  9
$COORDS
 70
     1
  9
$SPLFRAME
 70
     0
  9
$SPLINETYPE
 70
     6
  9
$SPLINESEGS
 70
     8
  9
$ATTDIA
 70
     0
  9
$ATTREQ
 70
     1
  9
$HANDLING
 70
     1
  9
$HANDSEED
  5
10B
  9
$SURFTAB1
 70
     6
  9
$SURFTAB2
 70
     6
  9
$SURFTYPE
 70
     6
  9
$SURFU
 70
     6
  9
$SURFV
 70
     6
  9
$UCSNAME
  2
  9
$UCSORG
 10
0.0
 20
0.0
 30
0.0
  9
$UCSXDIR
 10
1.0
 20
0.0
 30
0.0
  9
$UCSYDIR
 10
0.0
 20
1.0
 30
0.0
  9
$PUCSNAME
  2
  9
$PUCSORG
 10
0.0
 20
0.0
 30
0.0
  9
$PUCSXDIR
 10
1.0
 20
0.0
 30
0.0
  9
$PUCSYDIR
 10
0.0
 20
1.0
 30
0.0
  9
$USERI1
 70
     0
  9
$USERI2
 70
     0
  9
$USERI3
 70
     0
  9
$USERI4
 70
     0
  9
$USERI5
 70
     0
  9
$USERR1
 40
0.0
  9
$USERR2
 40
0.0
  9
$USERR3
 40
0.0
  9
$USERR4
 40
0.0
  9
$USERR5
 40
0.0
  9
$WORLDVIEW
 70
     1
  9
$SHADEDGE
 70
     3
  9
$SHADEDIF
 70
    70
  9
$TILEMODE
 70
     1
  9
$MAXACTVP
 70
    64
  9
$PLIMCHECK
 70
     0
  9
$PEXTMIN
 10
159.90000000000009
 20
127.90000000000001
 30
0.0
  9
$PEXTMAX
 10
1439.0999999999999
 20
1151.0999999999999
 30
0.0
  9
$PLIMMIN
 10
0.0
 20
0.0
  9
$PLIMMAX
 10
1600.0
 20
1280.0
  9
$UNITMODE
 70
     0
  9
$VISRETAIN
 70
     1
  9
$PLINEGEN
 70
     0
  9
$PSLTSCALE
 70
     1
  0
ENDSEC
  0
SECTION
  2
TABLES
  0
TABLE
  2
VPORT
 70
    12
  0
VPORT
  2
*ACTIVE
 70
     0
 10
0.0
 20
0.0
 11
1.0
 21
1.0
 12
117.1421272841457
 22
-17.999694633841241
 13
0.0
 23
0.0
 14
1.0
 24
1.0
 15
0.0
 25
0.0
 16
0.0
 26
0.0
 36
1.0
 17
110.9699615444724
 27
-39.533621456839803
 37
-7.2520812109464874
 40
141.14711640900831
 41
1.7611111111111111
 42
50.0
 43
0.0
 44
0.0
 50
0.0
 51
0.0
 71
     0
 72
  1000
 73
     1
 74
     3
 75
     0
 76
     0
 77
     0
 78
     0
  0
ENDTAB
  0
TABLE
  2
LTYPE
 70
     1
  0
LTYPE
  2
CONTINUOUS
 70
     0
  3
Solid line
 72
    65
 73
     0
 40
0.0
  0
ENDTAB
  0
TABLE
  2
LAYER
 70
     2
  0
LAYER
  2
0
 70
     0
 62
     7
  6
CONTINUOUS
  0
LAYER
  2
DEFPOINTS
 70
     0
 62
     7
  6
CONTINUOUS
  0
ENDTAB
  0
TABLE
  2
STYLE
 70
     1
  0
STYLE
  2
STANDARD
 70
     0
 40
0.0
 41
1.0
 50
0.0
 71
     0
 42
0.2
  3
txt
  4
  0
ENDTAB
  0
TABLE
  2
VIEW
 70
     0
  0
ENDTAB
  0
TABLE
  2
UCS
 70
     0
  0
ENDTAB
  0
TABLE
  2
APPID
 70
     2
  0
APPID
  2
ACAD
 70
     0
  0
APPID
  2
ACAD_PSEXT
 70
     0
  0
ENDTAB
  0
TABLE
  2
DIMSTYLE
 70
     1
  0
DIMSTYLE
  2
STANDARD
 70
     0
  3
  4
  5
  6
  7
 40
1.0
 41
0.18
 42
0.0625
 43
0.38
 44
0.18
 45
0.0
 46
0.0
 47
0.0
 48
0.0
140
0.18
141
0.09
142
0.0
143
25.399999999999999
144
1.0
145
0.0
146
1.0
147
0.09
 71
     0
 72
     0
 73
     1
 74
     1
 75
     0
 76
     0
 77
     0
 78
     0
170
     0
171
     2
172
     0
173
     0
174
     0
175
     0
176
     0
177
     0
178
     0
  0
ENDTAB
  0
ENDSEC
  0
SECTION
  2
BLOCKS
  0
BLOCK
  8
0
  2
$MODEL_SPACE
 70
     0
 10
0.0
 20
0.0
 30
0.0
  3
$MODEL_SPACE
  1
  0
ENDBLK
  5
24
  8
0
  0
BLOCK
 67
     1
  8
0
  2
$PAPER_SPACE
 70
     0
 10
0.0
 20
0.0
 30
0.0
  3
$PAPER_SPACE
  1
  0
ENDBLK
  5
20
 67
     1
  8
0
  0
BLOCK
  8
0
  2
*D0
 70
     1
 10
0.0
 20
0.0
 30
0.0
  3
*D0
  1
  0
LINE
  5
3A
  8
0
 62
     0
 10
84.731229957065224
 20
-72.50578278726509
 30
0.0
 11
125.6286630641614
 21
-102.2766685951777
 31
0.0
  0
LINE
  5
3B
  8
0
 62
     0
 10
85.562770458799392
 20
-33.990232423856718
 30
0.0
 11
127.7070758399901
 21
-6.012247999266906
 31
0.0
  0
ARC
  5
3C
  8
0
 62
     0
 10
57.454700000000003
 20
-52.650100000000009
 30
0.0
 40
84.143695070872667
 50
324.07018819026518
 51
358.64053974291249
  0
ARC
  5
3D
  8
0
 62
     0
 10
57.454700000000003
 20
-52.650100000000009
 30
0.0
 40
84.143695070872667
 50
358.88573105996642
 51
33.456088276237281
  0
SOLID
  5
3E
  8
0
 62
     0
 10
125.6131887498759
 20
-102.04272445273961
 30
0.0
 11
125.5646422497273
 21
-102.0074648820769
 31
0.0
 12
125.48313678781361
 22
-102.17073416785421
 32
0.0
 13
125.48313678781361
 23
-102.17073416785421
 33
0.0
  0
SOLID
  5
3F
  8
0
 62
     0
 10
127.63149552764629
 20
-6.2784376313228201
 30
0.0
 11
127.681518634002
 21
-6.2453062439307532
 31
0.0
 12
127.5571129186479
 22
-6.1118026185595928
 32
0.0
 13
127.5571129186479
 23
-6.1118026185595928
 33
0.0
  0
INSERT
  5
40
  8
0
  2
*U3
 10
0.0
 20
0.0
 30
0.0
  0
POINT
  5
41
  8
DEFPOINTS
 62
     0
 10
57.454700000000003
 20
-52.650100000000009
 30
0.0
  0
POINT
  5
42
  8
DEFPOINTS
 62
     0
 10
84.680700000000016
 20
-72.468999999999994
 30
0.0
  0
POINT
  5
43
  8
DEFPOINTS
 62
     0
 10
85.510700000000014
 20
-34.024800000000013
 30
0.0
  0
POINT
  5
44
  8
DEFPOINTS
 62
     0
 10
139.4936715020113
 20
-71.352200819752341
 30
0.0
  0
ENDBLK
  5
39
  8
0
  0
BLOCK
  8
0
  2
*D1
 70
     1
 10
0.0
 20
0.0
 30
0.0
  3
*D1
  1
  0
LINE
  5
67
  8
0
 62
     0
 10
166.19922739524449
 20
-30.856748407918051
 30
0.0
 11
277.45866125586178
 21
-30.856748407918079
 31
0.0
  0
LINE
  5
68
  8
0
 62
     0
 10
210.1176980467755
 20
-104.6438053106711
 30
0.0
 11
277.45866125586178
 21
-104.6438053106711
 31
0.0
  0
LINE
  5
69
  8
0
 62
     0
 10
277.27866125586178
 20
-31.036748407918068
 30
0.0
 11
277.27866125586178
 21
-67.570276859294609
 31
0.0
  0
LINE
  5
6A
  8
0
 62
     0
 10
277.27866125586178
 20
-104.46380531067111
 30
0.0
 11
277.27866125586178
 21
-67.930276859294608
 31
0.0
  0
SOLID
  5
6B
  8
0
 62
     0
 10
277.24866125586192
 20
-31.036748407918068
 30
0.0
 11
277.30866125586181
 21
-31.036748407918068
 31
0.0
 12
277.27866125586178
 22
-30.856748407918079
 32
0.0
 13
277.27866125586178
 23
-30.856748407918079
 33
0.0
  0
SOLID
  5
6C
  8
0
 62
     0
 10
277.24866125586192
 20
-104.46380531067111
 30
0.0
 11
277.30866125586181
 21
-104.46380531067111
 31
0.0
 12
277.27866125586178
 22
-104.6438053106711
 32
0.0
 13
277.27866125586178
 23
-104.6438053106711
 33
0.0
  0
INSERT
  5
6D
  8
0
  2
*U4
 10
0.0
 20
0.0
 30
0.0
  0
POINT
  5
6E
  8
DEFPOINTS
 62
     0
 10
166.13672739524449
 20
-30.856748407918051
 30
0.0
  0
POINT
  5
6F
  8
DEFPOINTS
 62
     0
 10
210.05519804677539
 20
-104.6438053106711
 30
0.0
  0
POINT
  5
70
  8
DEFPOINTS
 62
     0
 10
277.27866125586178
 20
-104.6438053106711
 30
0.0
  0
ENDBLK
  5
72
  8
0
  0
BLOCK
  8
0
  2
*D2
 70
     1
 10
0.0
 20
0.0
 30
0.0
  3
*D2
  1
  0
LINE
  5
CD
  8
0
 62
     0
 10
166.19043396717259
 20
-30.824781954694011
 30
0.0
 11
197.67462768174769
 21
-12.08521304272284
 31
0.0
  0
LINE
  5
CE
  8
0
 62
     0
 10
210.10890461870349
 20
-104.611838857447
 30
0.0
 11
241.59309833327859
 21
-85.872269945475864
 31
0.0
  0
LINE
  5
CF
  8
0
 62
     0
 10
197.61201613987981
 20
-12.331951355161189
 30
0.0
 11
219.3720510694925
 21
-48.890804879384611
 31
0.0
  0
LINE
  5
D0
  8
0
 62
     0
 10
241.34636002084031
 20
-85.809658403607983
 30
0.0
 11
219.58632509122759
 21
-49.25080487938456
 31
0.0
  0
SOLID
  5
D1
  8
0
 62
     0
 10
197.63779529440529
 20
-12.31660745761365
 30
0.0
 11
197.5862369853543
 21
-12.347295252708729
 31
0.0
 12
197.51995275459461
 22
-12.177276428008071
 32
0.0
 13
197.51995275459461
 23
-12.177276428008071
 33
0.0
  0
SOLID
  5
D2
  8
0
 62
     0
 10
241.37213917536579
 20
-85.794314506060445
 30
0.0
 11
241.32058086631471
 21
-85.825002301155521
 31
0.0
 12
241.43842340612551
 22
-85.964333330761093
 32
0.0
 13
241.43842340612551
 23
-85.964333330761093
 33
0.0
  0
INSERT
  5
D3
  8
0
  2
*U5
 10
0.0
 20
0.0
 30
0.0
  0
POINT
  5
D4
  8
DEFPOINTS
 62
     0
 10
166.13672739524449
 20
-30.856748407918051
 30
0.0
  0
POINT
  5
D5
  8
DEFPOINTS
 62
     0
 10
210.05519804677539
 20
-104.6438053106711
 30
0.0
  0
POINT
  5
D6
  8
DEFPOINTS
 62
     0
 10
241.43842340612551
 20
-85.964333330761093
 30
0.0
  0
ENDBLK
  5
D8
  8
0
  0
BLOCK
  8
0
  2
*U3
 70
     1
 10
0.0
 20
0.0
 30
0.0
  3
*U3
  1
  0
TEXT
  5
FC
  8
0
 62
     0
 10
141.36878984800541
 20
-54.556394971836077
 30
0.0
 40
0.18
  1
700
  0
ENDBLK
  5
FE
  8
0
  0
BLOCK
  8
0
  2
*U4
 70
     1
 10
0.0
 20
0.0
 30
0.0
  3
*U4
  1
  0
TEXT
  5
104
  8
0
 62
     0
 10
276.76866125586179
 20
-67.840276859294576
 30
0.0
 40
0.18
  1
73.7871
  0
ENDBLK
  5
106
  8
0
  0
BLOCK
  8
0
  2
*U5
 70
     1
 10
0.0
 20
0.0
 30
0.0
  3
*U5
  1
  0
TEXT
  5
108
  8
0
 62
     0
 10
218.93918808036011
 20
-49.160804879384578
 30
0.0
 40
0.18
  1
85.8683
  0
ENDBLK
  5
10A
  8
0
  0
ENDSEC
  0
SECTION
  2
ENTITIES
  0
LINE
  5
4C
  8
0
 62
     1
 10
210.05519804677539
 20
-104.6438053106711
 30
0.0
 11
166.13672739524449
 21
-30.856748407918051
 31
0.0
  0
DIMENSION
  5
CB
  8
0
  2
*D2
 10
241.43842340612551
 20
-85.964333330761093
 30
0.0
 11
219.4791880803601
 21
-49.070804879384582
 31
0.0
 70
     1
 13
161.13672739524449
 23
-30.856748407918051
 33
0.0
 14
210.05519804677539
 24
-104.6438053106711
 34
0.0
  0
VIEWPORT
  5
54
 67
     1
  8
0
 10
800.0
 20
640.0
 30
0.0
 40
2384.9671111111111
 41
1354.24
 68
     1
 69
     1
1001
ACAD
1000
MVIEW
1002
{
1070
    16
1010
0.0
1020
0.0
1030
0.0
1010
0.0
1020
0.0
1030
1.0
1040
0.0
1040
1354.24
1040
800.0
1040
640.0
1040
50.0
1040
0.0
1040
0.0
1070
     0
1070
  1000
1070
     1
1070
     1
1070
     0
1070
     0
1070
     0
1070
     0
1040
0.0
1040
0.0
1040
0.0
1040
10.0
1040
10.0
1040
10.0
1040
10.0
1070
     0
1002
{
1002
}
1002
}
  0
VIEWPORT
  5
57
 67
     1
  8
0
 10
799.5
 20
639.5
 30
0.0
 40
1279.2
 41
1023.2
 68
     2
 69
     2
1001
ACAD
1000
MVIEW
1002
{
1070
    16
1010
110.9699615444724
1020
-39.533621456839803
1030
-7.2520812109464874
1010
235.8654884796139
1020
-120.1106285214543
1030
69.821941547845483
1040
0.7994985778481745
1040
111.7695249797725
1040
3.335278896056066
1040
-0.3895130765103332
1040
50.0
1040
0.0
1040
0.0
1070
     0
1070
  1000
1070
     1
1070
     3
1070
     0
1070
     0
1070
     0
1070
     0
1040
0.0
1040
0.0
1040
0.0
1040
1.0
1040
1.0
1040
0.0
1040
0.0
1070
     0
1002
{
1002
}
1002
}
  0
ENDSEC
  0
EOF

Re: DIMENSION DXF

Относительно > Сергей (2005-02-11 18:31:41)
В группе 70 указан тип размера. В данном случае значение 5 означает Angular 3 point (Угловой по трем точкам).

Re: DIMENSION DXF

VH
Если не трудно, то можете посмотреть этот файл в автокаде.
Там красная линия и размерная линия. В свойствах размерной линии указано Aligned Dimension.
Эта линия показывает длину красной линии. Может я что то не правильно понял?.