microstation 0.4.1 → 0.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.autotest +23 -23
- data/.rspec +2 -2
- data/Gemfile +28 -10
- data/History.txt +6 -6
- data/LICENSE.adoc +22 -0
- data/Manifest.txt +81 -60
- data/README.adoc +131 -0
- data/Rakefile +71 -30
- data/bin/dgn2pdf +36 -37
- data/bin/dgn_template +107 -0
- data/bin/microstation +231 -0
- data/bin/pw_print +35 -0
- data/cad_files/drawing_faatitle_in_non_default_model.dgn +0 -0
- data/cad_files/drawing_no_block.dgn +0 -0
- data/cad_files/drawing_with_3_block.dgn +0 -0
- data/cad_files/drawing_with_block.dgn +0 -0
- data/cad_files/seed2d.dgn +0 -0
- data/cad_files/test.dgn +0 -0
- data/lib/microstation.rb +252 -88
- data/lib/microstation/app.rb +781 -286
- data/lib/microstation/cad_input_queue.rb +100 -25
- data/lib/microstation/cell.rb +191 -0
- data/lib/microstation/changer.rb +70 -0
- data/lib/microstation/configuration.rb +193 -57
- data/lib/microstation/criteria_creation_t.rb +23 -0
- data/lib/microstation/dir.rb +252 -252
- data/lib/microstation/directory.rb +46 -0
- data/lib/microstation/drawing.rb +690 -189
- data/lib/microstation/element.rb +311 -0
- data/lib/microstation/enumerator.rb +32 -29
- data/lib/microstation/errors.rb +17 -0
- data/lib/microstation/event_handler.rb +28 -0
- data/lib/microstation/ext/pathname.rb +23 -25
- data/lib/microstation/ext/win32ole.rb +7 -0
- data/lib/microstation/extensions/faa.rb +124 -0
- data/lib/microstation/file_tests.rb +68 -0
- data/lib/microstation/functions.rb +60 -0
- data/lib/microstation/graphics.rb +35 -0
- data/lib/microstation/line.rb +19 -0
- data/lib/microstation/model.rb +45 -0
- data/lib/microstation/model_trait.rb +189 -0
- data/lib/microstation/ole_cad_input_message.rb +101 -0
- data/lib/microstation/ole_helper.rb +152 -0
- data/lib/microstation/pdf_support.rb +40 -40
- data/lib/microstation/point3d.rb +71 -0
- data/lib/microstation/primitive_command_interface.rb +66 -0
- data/lib/microstation/properties.rb +61 -57
- data/lib/microstation/property_handler.rb +48 -0
- data/lib/microstation/scan/color.rb +38 -38
- data/lib/microstation/scan/criteria.rb +89 -85
- data/lib/microstation/scan/klass.rb +43 -43
- data/lib/microstation/scan/level.rb +38 -38
- data/lib/microstation/scan/line_style.rb +45 -45
- data/lib/microstation/scan/line_weight.rb +33 -33
- data/lib/microstation/scan/range.rb +19 -0
- data/lib/microstation/scan/scan_trait.rb +51 -0
- data/lib/microstation/scan/subtype.rb +40 -40
- data/lib/microstation/scan/type.rb +134 -109
- data/lib/microstation/scan_trait.rb +62 -0
- data/lib/microstation/scanner.rb +24 -24
- data/lib/microstation/tag.rb +87 -58
- data/lib/microstation/tag_set.rb +385 -280
- data/lib/microstation/tag_set_trait.rb +51 -0
- data/lib/microstation/tagged_element.rb +105 -0
- data/lib/microstation/template.rb +90 -84
- data/lib/microstation/template_info.rb +172 -0
- data/lib/microstation/template_runner.rb +65 -0
- data/lib/microstation/text.rb +79 -54
- data/lib/microstation/text_node.rb +124 -74
- data/lib/microstation/ts/attribute.rb +140 -139
- data/lib/microstation/ts/instance.rb +146 -112
- data/lib/microstation/ts/tagset_trait.rb +49 -0
- data/lib/microstation/types.rb +91 -91
- data/lib/microstation/version.rb +5 -0
- data/lib/microstation/wrap.rb +28 -214
- data/plot/pdf-bw.plt +164 -164
- data/plot/pdf.plt +163 -163
- data/plot/png.plt +383 -383
- data/plot/tiff.plt +384 -384
- data/plot/wmbw.tbl +324 -66
- data/plot/wmcolor.tbl +62 -62
- metadata +301 -86
- data/.gemtest +0 -0
- data/README.txt +0 -75
- data/lib/microstation/attributes.rb +0 -35
- data/lib/microstation/extensions/hash.rb +0 -27
- data/spec/app_spec.rb +0 -267
- data/spec/configuration_spec.rb +0 -122
- data/spec/drawing_spec.rb +0 -247
- data/spec/drawings/new_drawing.dgn +0 -0
- data/spec/drawings/test.dgn +0 -0
- data/spec/drawings/test1.dgn +0 -0
- data/spec/drawings/testfile.pdf +0 -0
- data/spec/enumerator_spec.rb +0 -60
- data/spec/microstation_spec.rb +0 -36
- data/spec/scanner_spec.rb +0 -155
- data/spec/spec_app.rb +0 -11
- data/spec/spec_helper.rb +0 -31
- data/spec/tag_set_spec.rb +0 -123
- data/spec/text_node_spec.rb +0 -92
- data/spec/text_spec.rb +0 -62
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
module Microstation
|
|
2
|
-
|
|
3
|
-
module Scan
|
|
4
|
-
|
|
5
|
-
module Level
|
|
6
|
-
|
|
7
|
-
def level_inclusions
|
|
8
|
-
@level_inclusions ||= []
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
def include_level(level)
|
|
12
|
-
level_inclusions << level
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
def reset_levels
|
|
16
|
-
reset_ole_levels
|
|
17
|
-
@level_inclusions = []
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
def reset_ole_levels
|
|
21
|
-
ole_obj.ExcludeAllLevels
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
def resolve_level_scans
|
|
25
|
-
return unless level_inclusions.size > 0
|
|
26
|
-
reset_ole_levels
|
|
27
|
-
level_inclusions.each do |level|
|
|
28
|
-
ole_obj.IncludeLevel(level)
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
|
|
1
|
+
module Microstation
|
|
2
|
+
|
|
3
|
+
module Scan
|
|
4
|
+
|
|
5
|
+
module Level
|
|
6
|
+
|
|
7
|
+
def level_inclusions
|
|
8
|
+
@level_inclusions ||= []
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def include_level(level)
|
|
12
|
+
level_inclusions << level
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def reset_levels
|
|
16
|
+
reset_ole_levels
|
|
17
|
+
@level_inclusions = []
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def reset_ole_levels
|
|
21
|
+
ole_obj.ExcludeAllLevels
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def resolve_level_scans
|
|
25
|
+
return unless level_inclusions.size > 0
|
|
26
|
+
reset_ole_levels
|
|
27
|
+
level_inclusions.each do |level|
|
|
28
|
+
ole_obj.IncludeLevel(level)
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
|
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
module Microstation
|
|
2
|
-
|
|
3
|
-
module Scan
|
|
4
|
-
|
|
5
|
-
module LineStyle
|
|
6
|
-
|
|
7
|
-
def linestyles
|
|
8
|
-
@app.active_design_file.LineStyles rescue []
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
def linestyle_inclusions
|
|
13
|
-
@linestyle_inclusions ||= []
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
def include_linestyle(style)
|
|
17
|
-
linestyle_inclusions << style
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
def reset_linestyles
|
|
21
|
-
reset_ole_linestyles
|
|
22
|
-
@linestyle_inclusions = []
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
def reset_ole_linestyles
|
|
26
|
-
ole_obj.ExcludeAllLineStyles
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
def resolve_linestyle_scans
|
|
30
|
-
return unless linestyle_inclusions.size > 0
|
|
31
|
-
reset_ole_linestyles
|
|
32
|
-
linestyle_inclusions.each do |linestyle|
|
|
33
|
-
ole_obj.IncludeLineStyle(linestyle)
|
|
34
|
-
end
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
1
|
+
module Microstation
|
|
2
|
+
|
|
3
|
+
module Scan
|
|
4
|
+
|
|
5
|
+
module LineStyle
|
|
6
|
+
|
|
7
|
+
def linestyles
|
|
8
|
+
@app.active_design_file.LineStyles rescue []
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def linestyle_inclusions
|
|
13
|
+
@linestyle_inclusions ||= []
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def include_linestyle(style)
|
|
17
|
+
linestyle_inclusions << style
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def reset_linestyles
|
|
21
|
+
reset_ole_linestyles
|
|
22
|
+
@linestyle_inclusions = []
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def reset_ole_linestyles
|
|
26
|
+
ole_obj.ExcludeAllLineStyles
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def resolve_linestyle_scans
|
|
30
|
+
return unless linestyle_inclusions.size > 0
|
|
31
|
+
reset_ole_linestyles
|
|
32
|
+
linestyle_inclusions.each do |linestyle|
|
|
33
|
+
ole_obj.IncludeLineStyle(linestyle)
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
module Microstation
|
|
2
|
-
|
|
3
|
-
module Scan
|
|
4
|
-
|
|
5
|
-
module LineWeight
|
|
6
|
-
|
|
7
|
-
def lineweight_inclusions
|
|
8
|
-
@lineweight_inclusions ||= []
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
def include_lineweight(weight)
|
|
12
|
-
lineweight_inclusions << weight
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
def reset_lineweights
|
|
16
|
-
reset_ole_linestyles
|
|
17
|
-
@lineweight_inclusions = []
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
def reset_ole_lineweights
|
|
21
|
-
ole_obj.ExcludeAllLineWeights
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
def resolve_lineweight_scans
|
|
25
|
-
return unless lineweight_inclusions.size > 0
|
|
26
|
-
reset_ole_lineweights
|
|
27
|
-
lineweight_inclusions.each do |lineweight|
|
|
28
|
-
ole_obj.IncludeLineWeight(lineweight)
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
end
|
|
1
|
+
module Microstation
|
|
2
|
+
|
|
3
|
+
module Scan
|
|
4
|
+
|
|
5
|
+
module LineWeight
|
|
6
|
+
|
|
7
|
+
def lineweight_inclusions
|
|
8
|
+
@lineweight_inclusions ||= []
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def include_lineweight(weight)
|
|
12
|
+
lineweight_inclusions << weight
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def reset_lineweights
|
|
16
|
+
reset_ole_linestyles
|
|
17
|
+
@lineweight_inclusions = []
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def reset_ole_lineweights
|
|
21
|
+
ole_obj.ExcludeAllLineWeights
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def resolve_lineweight_scans
|
|
25
|
+
return unless lineweight_inclusions.size > 0
|
|
26
|
+
reset_ole_lineweights
|
|
27
|
+
lineweight_inclusions.each do |lineweight|
|
|
28
|
+
ole_obj.IncludeLineWeight(lineweight)
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
module Microstation
|
|
2
|
+
|
|
3
|
+
module Scan
|
|
4
|
+
|
|
5
|
+
module Range
|
|
6
|
+
|
|
7
|
+
def include_within_range(range)
|
|
8
|
+
ole_obj.IncludeOnlyWithinRange(range)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def range_from_points(pt1,pt2)
|
|
12
|
+
app.Range3dFromPoint3dPoint3d(pt1,pt2)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
end
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
module Microstation
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
module ScanTrait
|
|
5
|
+
|
|
6
|
+
def create_scanner(&block)
|
|
7
|
+
app.create_scanner(&block)
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def scan_graphical(&block)
|
|
11
|
+
sc = create_scanner
|
|
12
|
+
sc.ExcludeNonGraphical
|
|
13
|
+
self.scan(sc,&block)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def scan_text(&block)
|
|
17
|
+
sc = create_scanner do
|
|
18
|
+
include_textual
|
|
19
|
+
end
|
|
20
|
+
self.scan(sc,&block)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def scan(criteria)
|
|
24
|
+
scan_result = ole_run_scan(criteria)
|
|
25
|
+
return [] unless scan_result
|
|
26
|
+
scan_enum = Microstation::Enumerator.new(scan_result)
|
|
27
|
+
result = []
|
|
28
|
+
if block_given?
|
|
29
|
+
scan_enum.each do |item|
|
|
30
|
+
yield item
|
|
31
|
+
end
|
|
32
|
+
else
|
|
33
|
+
scan_enum.each do |item|
|
|
34
|
+
result << item
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
return result unless block_given?
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
private
|
|
42
|
+
|
|
43
|
+
def ole_run_scan(criteria)
|
|
44
|
+
criteria.resolve
|
|
45
|
+
scan_result = self.ole_obj.Scan(criteria.ole_obj) rescue nil
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
end
|
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
module Microstation
|
|
2
|
-
|
|
3
|
-
module Scan
|
|
4
|
-
|
|
5
|
-
module Subtype
|
|
6
|
-
|
|
7
|
-
def subtype_inclusions
|
|
8
|
-
@subtype_inclusions ||= []
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
def include_subtype(subtype)
|
|
12
|
-
subtype_inclusions << subtype
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
def reset_subtypes
|
|
16
|
-
reset_ole_subtypes
|
|
17
|
-
@subtype_inclusions = []
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
def reset_ole_subtypes
|
|
21
|
-
ole_obj.ExcludeAllSubtypes
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
def resolve_subtype_scans
|
|
25
|
-
return unless subtype_inclusions.size > 0
|
|
26
|
-
reset_ole_subtypes
|
|
27
|
-
subtype_inclusions.each do |subtype|
|
|
28
|
-
ole_obj.IncludeSubtype(subtype)
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
1
|
+
module Microstation
|
|
2
|
+
|
|
3
|
+
module Scan
|
|
4
|
+
|
|
5
|
+
module Subtype
|
|
6
|
+
|
|
7
|
+
def subtype_inclusions
|
|
8
|
+
@subtype_inclusions ||= []
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def include_subtype(subtype)
|
|
12
|
+
subtype_inclusions << subtype
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def reset_subtypes
|
|
16
|
+
reset_ole_subtypes
|
|
17
|
+
@subtype_inclusions = []
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def reset_ole_subtypes
|
|
21
|
+
ole_obj.ExcludeAllSubtypes
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def resolve_subtype_scans
|
|
25
|
+
return unless subtype_inclusions.size > 0
|
|
26
|
+
reset_ole_subtypes
|
|
27
|
+
subtype_inclusions.each do |subtype|
|
|
28
|
+
ole_obj.IncludeSubtype(subtype)
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
@@ -1,109 +1,134 @@
|
|
|
1
|
-
module Microstation
|
|
2
|
-
|
|
3
|
-
module Scan
|
|
4
|
-
|
|
5
|
-
module Type
|
|
6
|
-
|
|
7
|
-
# MsdElementTypeCellLibraryHeader
|
|
8
|
-
# MsdElementTypeCellHeader
|
|
9
|
-
# MsdElementTypeLine
|
|
10
|
-
# MsdElementTypeLineString
|
|
11
|
-
# MsdElementTypeGroupData
|
|
12
|
-
# MsdElementTypeShape
|
|
13
|
-
# MsdElementTypeTextNode
|
|
14
|
-
# MsdElementTypeDigSetData
|
|
15
|
-
# MsdElementTypeDesignFileHeader
|
|
16
|
-
# MsdElementTypeLevelSymbology
|
|
17
|
-
# MsdElementTypeCurve
|
|
18
|
-
# MsdElementTypeComplexString
|
|
19
|
-
# MsdElementTypeConic
|
|
20
|
-
# MsdElementTypeComplexShape
|
|
21
|
-
# MsdElementTypeEllipse
|
|
22
|
-
# MsdElementTypeArc
|
|
23
|
-
# MsdElementTypeText
|
|
24
|
-
# MsdElementTypeSurface
|
|
25
|
-
# MsdElementTypeSolid
|
|
26
|
-
# MsdElementTypeBsplinePole
|
|
27
|
-
# MsdElementTypePointString
|
|
28
|
-
# MsdElementTypeCone
|
|
29
|
-
# MsdElementTypeBsplineSurface
|
|
30
|
-
# MsdElementTypeBsplineBoundary
|
|
31
|
-
# MsdElementTypeBsplineKnot
|
|
32
|
-
# MsdElementTypeBsplineCurve
|
|
33
|
-
# MsdElementTypeBsplineWeight
|
|
34
|
-
# MsdElementTypeDimension
|
|
35
|
-
# MsdElementTypeSharedCellDefinition
|
|
36
|
-
# MsdElementTypeSharedCell
|
|
37
|
-
# MsdElementTypeMultiLine
|
|
38
|
-
# MsdElementTypeTag
|
|
39
|
-
# MsdElementTypeDgnStoreComponent
|
|
40
|
-
# MsdElementTypeDgnStoreHeader
|
|
41
|
-
# MsdElementType44
|
|
42
|
-
# MsdElementTypeMicroStation
|
|
43
|
-
# MsdElementTypeRasterHeader
|
|
44
|
-
# MsdElementTypeRasterComponent
|
|
45
|
-
# MsdElementTypeRasterReference
|
|
46
|
-
# MsdElementTypeRasterReferenceComponent
|
|
47
|
-
# MsdElementTypeRasterFrame
|
|
48
|
-
# MsdElementTypeTableEntry
|
|
49
|
-
# MsdElementTypeTable
|
|
50
|
-
# MsdElementTypeViewGroup
|
|
51
|
-
# MsdElementTypeView
|
|
52
|
-
# MsdElementTypeLevelMask
|
|
53
|
-
# MsdElementTypeReferenceAttachment
|
|
54
|
-
# MsdElementTypeMatrixHeader
|
|
55
|
-
# MsdElementTypeMatrixIntegerData
|
|
56
|
-
# MsdElementTypeMatrixDoubleData
|
|
57
|
-
# MsdElementTypeMeshHeader
|
|
58
|
-
# MsdElementTypeReferenceOverride
|
|
59
|
-
# MsdElementTypeNamedGroupHeader
|
|
60
|
-
# MsdElementTypeNamedGroupComponent
|
|
61
|
-
|
|
62
|
-
def type_inclusions
|
|
63
|
-
@type_inclusions ||= []
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
def reset_types
|
|
67
|
-
reset_ole_types
|
|
68
|
-
@type_inclusions = []
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
def reset_ole_types
|
|
72
|
-
ole_obj.ExcludeAllTypes
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
def include_type(type)
|
|
76
|
-
type_inclusions << type
|
|
77
|
-
end
|
|
78
|
-
|
|
79
|
-
def resolve_type_scans
|
|
80
|
-
return unless type_inclusions.size > 0
|
|
81
|
-
reset_ole_types
|
|
82
|
-
type_inclusions.each do |type|
|
|
83
|
-
ole_obj.IncludeType(type)
|
|
84
|
-
end
|
|
85
|
-
end
|
|
86
|
-
|
|
87
|
-
def
|
|
88
|
-
self.include_type(Microstation::MSD::
|
|
89
|
-
end
|
|
90
|
-
|
|
91
|
-
def
|
|
92
|
-
self.include_type
|
|
93
|
-
end
|
|
94
|
-
|
|
95
|
-
def
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
end
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
1
|
+
module Microstation
|
|
2
|
+
|
|
3
|
+
module Scan
|
|
4
|
+
|
|
5
|
+
module Type
|
|
6
|
+
|
|
7
|
+
# MsdElementTypeCellLibraryHeader
|
|
8
|
+
# MsdElementTypeCellHeader
|
|
9
|
+
# MsdElementTypeLine
|
|
10
|
+
# MsdElementTypeLineString
|
|
11
|
+
# MsdElementTypeGroupData
|
|
12
|
+
# MsdElementTypeShape
|
|
13
|
+
# MsdElementTypeTextNode
|
|
14
|
+
# MsdElementTypeDigSetData
|
|
15
|
+
# MsdElementTypeDesignFileHeader
|
|
16
|
+
# MsdElementTypeLevelSymbology
|
|
17
|
+
# MsdElementTypeCurve
|
|
18
|
+
# MsdElementTypeComplexString
|
|
19
|
+
# MsdElementTypeConic
|
|
20
|
+
# MsdElementTypeComplexShape
|
|
21
|
+
# MsdElementTypeEllipse
|
|
22
|
+
# MsdElementTypeArc
|
|
23
|
+
# MsdElementTypeText
|
|
24
|
+
# MsdElementTypeSurface
|
|
25
|
+
# MsdElementTypeSolid
|
|
26
|
+
# MsdElementTypeBsplinePole
|
|
27
|
+
# MsdElementTypePointString
|
|
28
|
+
# MsdElementTypeCone
|
|
29
|
+
# MsdElementTypeBsplineSurface
|
|
30
|
+
# MsdElementTypeBsplineBoundary
|
|
31
|
+
# MsdElementTypeBsplineKnot
|
|
32
|
+
# MsdElementTypeBsplineCurve
|
|
33
|
+
# MsdElementTypeBsplineWeight
|
|
34
|
+
# MsdElementTypeDimension
|
|
35
|
+
# MsdElementTypeSharedCellDefinition
|
|
36
|
+
# MsdElementTypeSharedCell
|
|
37
|
+
# MsdElementTypeMultiLine
|
|
38
|
+
# MsdElementTypeTag
|
|
39
|
+
# MsdElementTypeDgnStoreComponent
|
|
40
|
+
# MsdElementTypeDgnStoreHeader
|
|
41
|
+
# MsdElementType44
|
|
42
|
+
# MsdElementTypeMicroStation
|
|
43
|
+
# MsdElementTypeRasterHeader
|
|
44
|
+
# MsdElementTypeRasterComponent
|
|
45
|
+
# MsdElementTypeRasterReference
|
|
46
|
+
# MsdElementTypeRasterReferenceComponent
|
|
47
|
+
# MsdElementTypeRasterFrame
|
|
48
|
+
# MsdElementTypeTableEntry
|
|
49
|
+
# MsdElementTypeTable
|
|
50
|
+
# MsdElementTypeViewGroup
|
|
51
|
+
# MsdElementTypeView
|
|
52
|
+
# MsdElementTypeLevelMask
|
|
53
|
+
# MsdElementTypeReferenceAttachment
|
|
54
|
+
# MsdElementTypeMatrixHeader
|
|
55
|
+
# MsdElementTypeMatrixIntegerData
|
|
56
|
+
# MsdElementTypeMatrixDoubleData
|
|
57
|
+
# MsdElementTypeMeshHeader
|
|
58
|
+
# MsdElementTypeReferenceOverride
|
|
59
|
+
# MsdElementTypeNamedGroupHeader
|
|
60
|
+
# MsdElementTypeNamedGroupComponent
|
|
61
|
+
|
|
62
|
+
def type_inclusions
|
|
63
|
+
@type_inclusions ||= []
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def reset_types
|
|
67
|
+
reset_ole_types
|
|
68
|
+
@type_inclusions = []
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def reset_ole_types
|
|
72
|
+
ole_obj.ExcludeAllTypes
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
def include_type(type)
|
|
76
|
+
type_inclusions << type
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
def resolve_type_scans
|
|
80
|
+
return unless type_inclusions.size > 0
|
|
81
|
+
reset_ole_types
|
|
82
|
+
type_inclusions.each do |type|
|
|
83
|
+
ole_obj.IncludeType(type)
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
def include_cell_header
|
|
88
|
+
self.include_type(::Microstation::MSD::MsdElementTypeCellHeader)
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
def include_shared_cell
|
|
92
|
+
self.include_type(::Microstation::MSD::MsdElementTypeSharedCell)
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
def include_cells
|
|
96
|
+
include_cell_header
|
|
97
|
+
include_shared_cell
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
def include_dimensions
|
|
101
|
+
self.include_type(::Microstation::MSD::MsdElementTypeDimension)
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
def include_text
|
|
105
|
+
self.include_type(::Microstation::MSD::MsdElementTypeText)
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
def include_tags
|
|
109
|
+
self.include_type ::Microstation::MSD::MsdElementTypeTag
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
def include_text_nodes
|
|
113
|
+
self.include_type ::Microstation::MSD::MsdElementTypeTextNode
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
def include_textual
|
|
117
|
+
include_text
|
|
118
|
+
include_text_nodes
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
def include_solids
|
|
122
|
+
self.include_type ::Microstation::MSD::MsdElementTypeSolid
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
def include_lines
|
|
126
|
+
self.include_type ::Microstation::MSD::MsdElementTypeLine
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
end
|