microstation 0.8.5 → 0.8.7
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 +4 -4
- data/Gemfile +26 -29
- data/Rakefile +45 -44
- data/bin/dgn2pdf +5 -6
- data/bin/dgn_template +23 -25
- data/bin/pw_print +11 -13
- 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/drawing_with_text.dgn +0 -0
- data/lib/microstation/app.rb +91 -87
- data/lib/microstation/cad_input_queue.rb +10 -20
- data/lib/microstation/cell.rb +6 -18
- data/lib/microstation/changer.rb +3 -3
- data/lib/microstation/configuration.rb +33 -50
- data/lib/microstation/criteria_creation_t.rb +4 -8
- data/lib/microstation/dir.rb +27 -59
- data/lib/microstation/directory.rb +2 -7
- data/lib/microstation/drawing.rb +103 -102
- data/lib/microstation/element.rb +55 -68
- data/lib/microstation/enumerator.rb +4 -9
- data/lib/microstation/errors.rb +0 -5
- data/lib/microstation/event_handler.rb +1 -5
- data/lib/microstation/ext/pathname.rb +12 -14
- data/lib/microstation/ext/win32ole.rb +0 -2
- data/lib/microstation/extensions/faa.rb +12 -34
- data/lib/microstation/file_tests.rb +15 -50
- data/lib/microstation/functions.rb +10 -20
- data/lib/microstation/graphics.rb +6 -13
- data/lib/microstation/line.rb +2 -6
- data/lib/microstation/model.rb +11 -20
- data/lib/microstation/model_trait.rb +40 -40
- data/lib/microstation/ole_cad_input_message.rb +25 -34
- data/lib/microstation/ole_helper.rb +58 -66
- data/lib/microstation/pdf_support.rb +7 -16
- data/lib/microstation/point3d.rb +17 -30
- data/lib/microstation/primitive_command_interface.rb +8 -14
- data/lib/microstation/properties.rb +29 -17
- data/lib/microstation/property_handler.rb +6 -8
- data/lib/microstation/scan/color.rb +1 -8
- data/lib/microstation/scan/criteria.rb +17 -33
- data/lib/microstation/scan/klass.rb +8 -12
- data/lib/microstation/scan/level.rb +2 -9
- data/lib/microstation/scan/line_style.rb +4 -12
- data/lib/microstation/scan/line_weight.rb +1 -3
- data/lib/microstation/scan/range.rb +2 -8
- data/lib/microstation/scan/scan_trait.rb +48 -51
- data/lib/microstation/scan/subtype.rb +0 -10
- data/lib/microstation/scan/type.rb +9 -15
- data/lib/microstation/scan_trait.rb +13 -20
- data/lib/microstation/scanner.rb +1 -11
- data/lib/microstation/tag.rb +12 -21
- data/lib/microstation/tag_set.rb +52 -71
- data/lib/microstation/tag_set_trait.rb +6 -10
- data/lib/microstation/tagged_element.rb +16 -28
- data/lib/microstation/template.rb +15 -14
- data/lib/microstation/template_info.rb +35 -49
- data/lib/microstation/template_runner.rb +14 -22
- data/lib/microstation/text.rb +15 -19
- data/lib/microstation/text_node.rb +17 -26
- data/lib/microstation/ts/attribute.rb +16 -20
- data/lib/microstation/ts/instance.rb +28 -38
- data/lib/microstation/ts/tagset_trait.rb +5 -12
- data/lib/microstation/types.rb +0 -3
- data/lib/microstation/version.rb +1 -3
- data/lib/microstation/wrap.rb +3 -10
- data/lib/microstation.rb +57 -72
- data/spec/microstation/app_spec.rb +49 -46
- data/spec/microstation/configuration_spec.rb +45 -43
- data/spec/microstation/drawing_spec.rb +103 -101
- data/spec/microstation/functions_spec.rb +18 -12
- data/spec/microstation/tag_set_spec.rb +57 -55
- data/spec/microstation/template_spec.rb +41 -42
- data/spec/microstation/text_node_spec.rb +16 -14
- data/spec/microstation/text_spec.rb +10 -8
- data/spec/microstation_spec.rb +18 -17
- data/spec/spec_helper.rb +18 -18
- metadata +36 -22
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '08c911e0e17cedddd9a1018c3c2bbc2a4f22c024ca32ff62fff40a5e6cc02323'
|
4
|
+
data.tar.gz: 355a5c4c036e05d6d61e7007f2496443da576b0eab0df91015be7300db2c8d56
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1ad154334ddc8e753fd1679fc118da5c33d9fbc7f80b615e2bfe2f1339bf60e6f06fe3a20d36a682f152223b4957644b99d278480f3754bfa3ff9d24d1fa5930
|
7
|
+
data.tar.gz: 59a804d7215d0d2dfb1808d0650d0f891f4105a1925b3f49ea66bdb0cb78e93bfa1570a2830c08ad9d24057bddd8e3245bee99ee49af6cd2604c598041b9973d
|
data/Gemfile
CHANGED
@@ -1,36 +1,33 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
1
|
# -*- ruby -*-
|
4
2
|
|
5
3
|
# DO NOT EDIT THIS FILE. Instead, edit Rakefile, and run `rake bundler:gemfile`.
|
6
4
|
|
7
|
-
source
|
5
|
+
source "https://rubygems.org/"
|
6
|
+
|
7
|
+
gem "methadone", ">=0.0.0"
|
8
|
+
gem "liquid", ">0.0.0"
|
9
|
+
gem "gli", ">0.0.0"
|
10
|
+
gem "dry-monads", ">0.0.0"
|
8
11
|
|
9
|
-
gem
|
10
|
-
gem
|
11
|
-
gem
|
12
|
-
gem
|
12
|
+
gem "hoe-yard", ">=0.1.3", group: [:development, :test]
|
13
|
+
gem "minitest", ">0.0.0", group: [:development, :test]
|
14
|
+
gem "minitest-hooks", ">0.0", group: [:development, :test]
|
15
|
+
gem "aruba", ">0.0.0", group: [:development, :test]
|
16
|
+
gem "yard", ">=0.0", group: [:development, :test]
|
17
|
+
gem "guard-yard", ">=0.0", group: [:development, :test]
|
18
|
+
gem "hoe", "~>4", group: [:development, :test]
|
19
|
+
gem "hoe-bundler", ">0.0.0", group: [:development, :test]
|
20
|
+
gem "guard", ">0.0.0", group: [:development, :test]
|
21
|
+
gem "guard-minitest", ">0.0.0", group: [:development, :test]
|
22
|
+
gem "minitest-focus", ">0.0.0", group: [:development, :test]
|
23
|
+
gem "notiffany", ">0.0.0", group: [:development, :test]
|
24
|
+
gem "debug", ">0.0.0", group: [:development, :test]
|
25
|
+
gem "rb-readline", ">0.0.0", group: [:development, :test]
|
26
|
+
gem "win32console", ">0.0.0", group: [:development, :test]
|
27
|
+
gem "rb-notifu", ">0.0.0", group: [:development, :test]
|
28
|
+
gem "wdm", ">0.0.0", group: [:development, :test]
|
29
|
+
gem "solargraph", ">0.0.0", group: [:development, :test]
|
30
|
+
gem "standard", ">0.0.0", group: [:development, :test]
|
31
|
+
gem "solargraph-standardrb", ">0.0.0", group: [:development, :test]
|
13
32
|
|
14
|
-
group :development, :test do
|
15
|
-
gem 'aruba'
|
16
|
-
gem 'guard'
|
17
|
-
gem 'guard-minitest'
|
18
|
-
gem 'guard-yard'
|
19
|
-
gem 'hoe'
|
20
|
-
gem 'hoe-bundler'
|
21
|
-
gem 'hoe-yard'
|
22
|
-
gem 'minitest'
|
23
|
-
gem 'minitest-focus'
|
24
|
-
gem 'minitest-hooks'
|
25
|
-
gem 'notiffany'
|
26
|
-
gem 'pry'
|
27
|
-
gem 'pry-byebug'
|
28
|
-
gem 'rb-notifu'
|
29
|
-
gem 'rb-readline'
|
30
|
-
gem 'solargraph'
|
31
|
-
gem 'standard'
|
32
|
-
gem 'wdm'
|
33
|
-
gem 'win32console'
|
34
|
-
gem 'yard'
|
35
|
-
end
|
36
33
|
# vim: syntax=ruby
|
data/Rakefile
CHANGED
@@ -1,62 +1,63 @@
|
|
1
1
|
# -*- ruby -*-
|
2
2
|
|
3
|
-
require
|
4
|
-
require
|
5
|
-
require 'rake/testtask'
|
6
|
-
require
|
7
|
-
require 'hoe/minitest'
|
8
|
-
require
|
9
|
-
|
3
|
+
require "rubygems"
|
4
|
+
require "rake/clean"
|
5
|
+
# require 'rake/testtask'
|
6
|
+
require "hoe"
|
7
|
+
# require 'hoe/minitest'
|
8
|
+
require "minitest"
|
9
|
+
require "minitest/test_task"
|
10
|
+
# require 'hoe/git'
|
10
11
|
|
11
12
|
class Hoe
|
12
13
|
def intuit_values(input)
|
13
|
-
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
17
|
-
#require 'rake/testtask'
|
17
|
+
# require 'rake/testtask'
|
18
18
|
|
19
19
|
CLEAN.include("**/#*.*#")
|
20
20
|
Hoe.plugin :bundler
|
21
|
-
Hoe.plugin :minitest
|
21
|
+
# Hoe.plugin :minitest
|
22
22
|
Hoe.plugin :git
|
23
23
|
Hoe.plugin :yard
|
24
24
|
# Hoe.plugin :rubyforge
|
25
|
-
Hoe.spec
|
26
|
-
self.summary =
|
27
|
-
self.description =
|
28
|
-
developer(
|
29
|
-
clean_globs <<
|
25
|
+
Hoe.spec "microstation" do
|
26
|
+
self.summary = "A ruby gem to control and automate Bentley Microstation using win32ole"
|
27
|
+
self.description = "Wrapping of microstation using win32ole to automate and control from ruby"
|
28
|
+
developer("Dominic Sisneros", "dsisnero@gmail.com")
|
29
|
+
clean_globs << "**/#*.*#"
|
30
30
|
# self.yard_markup = 'asciidoc'
|
31
|
-
self.urls = {home:
|
32
|
-
dependency(
|
33
|
-
dependency(
|
34
|
-
dependency(
|
35
|
-
dependency(
|
31
|
+
self.urls = {home: "https://github.com/dsisnero/microstation"}
|
32
|
+
dependency("methadone", ">= 0.0.0")
|
33
|
+
dependency("liquid", "> 0.0.0")
|
34
|
+
dependency("gli", "> 0.0.0")
|
35
|
+
dependency("dry-monads", "> 0.0.0")
|
36
36
|
# dependency('pry-nav', '>0.0.0',:dev)
|
37
37
|
|
38
|
-
dependency(
|
39
|
-
dependency(
|
40
|
-
dependency(
|
41
|
-
dependency(
|
42
|
-
dependency(
|
43
|
-
dependency(
|
44
|
-
dependency(
|
45
|
-
dependency(
|
46
|
-
dependency(
|
47
|
-
dependency(
|
48
|
-
dependency(
|
49
|
-
dependency(
|
50
|
-
dependency(
|
51
|
-
dependency(
|
52
|
-
dependency(
|
53
|
-
dependency(
|
54
|
-
dependency(
|
55
|
-
dependency(
|
56
|
-
dependency(
|
57
|
-
dependency(
|
38
|
+
dependency("minitest", ">0.0.0", :dev)
|
39
|
+
dependency("minitest-hooks", ">0.0", :dev)
|
40
|
+
dependency("aruba", ">0.0.0", :dev)
|
41
|
+
dependency("yard", ">= 0.0", :dev)
|
42
|
+
dependency("hoe-yard", "~> 0.1", :dev)
|
43
|
+
dependency("guard-yard", ">= 0.0", :dev)
|
44
|
+
dependency("hoe", "~> 4", :dev)
|
45
|
+
dependency("hoe-bundler", "> 0.0.0", :dev)
|
46
|
+
dependency("guard", "> 0.0.0", :dev)
|
47
|
+
dependency("guard-minitest", "> 0.0.0", :dev)
|
48
|
+
dependency("minitest-focus", "> 0.0.0", :dev)
|
49
|
+
dependency("notiffany", "> 0.0.0", :dev)
|
50
|
+
dependency("aruba", "> 0.0.0", :dev)
|
51
|
+
dependency("debug", "> 0.0.0", :dev)
|
52
|
+
dependency("rb-readline", ">0.0.0", :dev)
|
53
|
+
dependency("win32console", ">0.0.0", :dev)
|
54
|
+
dependency("rb-notifu", "> 0.0.0", :dev)
|
55
|
+
dependency("wdm", "> 0.0.0", :dev)
|
56
|
+
dependency("solargraph", "> 0.0.0", :dev)
|
57
|
+
dependency("standard", "> 0.0.0", :dev)
|
58
|
+
dependency("solargraph-standardrb", "> 0.0.0", :dev)
|
58
59
|
# dependency('windows-pr', '>0.0.0')
|
59
|
-
license(
|
60
|
+
license("MIT")
|
60
61
|
# require 'pry';binding.pry
|
61
62
|
|
62
63
|
# self.rubyforge_name = 'microstation' # if different than 'microstation'
|
@@ -65,7 +66,7 @@ end
|
|
65
66
|
|
66
67
|
|
67
68
|
# vim: syntax=ruby
|
68
|
-
|
69
|
-
t.libs.push(
|
70
|
-
t.
|
69
|
+
Minitest::TestTask.create("test2") do |t|
|
70
|
+
t.libs.push("specs")
|
71
|
+
t.test_globs = "spec/**/*_spec.rb"
|
71
72
|
end
|
data/bin/dgn2pdf
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
$LOAD_PATH.unshift(
|
3
|
-
require
|
4
|
-
require
|
5
|
-
require
|
2
|
+
$LOAD_PATH.unshift("../lib")
|
3
|
+
require "optparse"
|
4
|
+
require "methadone"
|
5
|
+
require "microstation"
|
6
6
|
|
7
7
|
class App
|
8
8
|
include Methadone::Main
|
9
9
|
include Methadone::CLILogging
|
10
10
|
|
11
11
|
main do |directory, output_dir|
|
12
|
-
|
13
12
|
directory_path = Pathname.new(directory).expand_path
|
14
13
|
exit_now! "arg directory: #{directory_path} doesn't exist" unless directory_path.directory?
|
15
14
|
Microstation.dgn2pdf(directory_path, output_dir)
|
@@ -24,7 +23,7 @@ class App
|
|
24
23
|
|
25
24
|
description "Convert a directory of Microstation files (*.dgn) to pdf"
|
26
25
|
|
27
|
-
on("-o","--output_dir","Output Dir")
|
26
|
+
on("-o", "--output_dir", "Output Dir")
|
28
27
|
|
29
28
|
|
30
29
|
arg :directory
|
data/bin/dgn_template
CHANGED
@@ -1,17 +1,16 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
require
|
3
|
-
$LOAD_PATH.unshift(File.join(__dir__,
|
2
|
+
require "gli"
|
3
|
+
$LOAD_PATH.unshift(File.join(__dir__, "lib"))
|
4
4
|
|
5
5
|
begin # XXX: Remove this begin/rescue before distributing your app
|
6
|
-
require
|
6
|
+
require "microstation"
|
7
7
|
rescue LoadError
|
8
|
-
|
9
|
-
|
10
|
-
|
8
|
+
warn "In development, you need to use `bundle exec ruby -I lib bin/dgn_template` to run your app"
|
9
|
+
warn "At install-time, RubyGems will make sure lib, etc. are in the load path"
|
10
|
+
warn "Feel free to remove this message from bin/dgn_template now"
|
11
11
|
exit 64
|
12
12
|
end
|
13
13
|
|
14
|
-
|
15
14
|
module Cli
|
16
15
|
include GLI::App
|
17
16
|
|
@@ -32,44 +31,44 @@ module Cli
|
|
32
31
|
# arg_name 'The name of the argument'
|
33
32
|
# flag [:f,:flagname]
|
34
33
|
|
35
|
-
desc
|
34
|
+
desc "create template description files to fill out"
|
36
35
|
long_desc "
|
37
36
|
Given a directory, this will generate yaml files describing
|
38
37
|
the fields and tagsets of dgn files in the directory
|
39
38
|
"
|
40
39
|
|
41
|
-
arg
|
40
|
+
arg "dir"
|
42
41
|
command :dump do |c|
|
43
42
|
# c.desc ''
|
44
43
|
# c.switch :s
|
45
44
|
|
46
|
-
c.desc
|
45
|
+
c.desc "file to run dump on"
|
47
46
|
# c.default_value 'default'
|
48
|
-
c.flag [
|
49
|
-
c.action do |
|
50
|
-
|
47
|
+
c.flag %i[f filename]
|
48
|
+
c.action do |_global_options, options, args|
|
51
49
|
# Your command logic here
|
52
50
|
|
53
51
|
# If you have any errors, just raise them
|
54
52
|
# raise "that command made no sense"
|
55
|
-
if file=options[:f]
|
53
|
+
if file = options[:f]
|
56
54
|
puts "file dump ran with file option #{options[:f]}"
|
57
|
-
|
55
|
+
|
58
56
|
Microstation.dump_template_info(file, visible: true)
|
59
57
|
else
|
60
|
-
help_now!(
|
58
|
+
help_now!("dir is required") if args.empty?
|
59
|
+
require "debug"
|
60
|
+
binding.break
|
61
61
|
Microstation.dump_template_info_for_dir args.first
|
62
62
|
end
|
63
63
|
end
|
64
64
|
end
|
65
65
|
|
66
|
-
desc
|
66
|
+
desc "Run the template description files"
|
67
67
|
arg :dir, :optional
|
68
68
|
command :run do |c|
|
69
|
-
|
70
|
-
c.
|
71
|
-
c.
|
72
|
-
c.action do |global_options,options,args|
|
69
|
+
c.desc "file to run"
|
70
|
+
c.flag %i[f filename]
|
71
|
+
c.action do |_global_options, options, args|
|
73
72
|
if options[:f]
|
74
73
|
puts "Running run on file #{options[:f]}"
|
75
74
|
|
@@ -81,7 +80,7 @@ the fields and tagsets of dgn files in the directory
|
|
81
80
|
end
|
82
81
|
end
|
83
82
|
|
84
|
-
pre do |
|
83
|
+
pre do |_global, _command, _options, _args|
|
85
84
|
# Pre logic here
|
86
85
|
# Return true to proceed; false to abort and not call the
|
87
86
|
# chosen command
|
@@ -90,18 +89,17 @@ the fields and tagsets of dgn files in the directory
|
|
90
89
|
true
|
91
90
|
end
|
92
91
|
|
93
|
-
post do |global,command,options,args|
|
92
|
+
post do |global, command, options, args|
|
94
93
|
# Post logic here
|
95
94
|
# Use skips_post before a command to skip this
|
96
95
|
# block on that command only
|
97
96
|
end
|
98
97
|
|
99
|
-
on_error do |
|
98
|
+
on_error do |_exception|
|
100
99
|
# Error logic here
|
101
100
|
# return false to skip default error handling
|
102
101
|
true
|
103
102
|
end
|
104
103
|
|
105
104
|
exit run(ARGV)
|
106
|
-
|
107
105
|
end
|
data/bin/pw_print
CHANGED
@@ -1,32 +1,30 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
require
|
3
|
-
require
|
2
|
+
require "optparse"
|
3
|
+
require "methadone"
|
4
4
|
|
5
|
-
require
|
6
|
-
require
|
7
|
-
require
|
5
|
+
require "microstation"
|
6
|
+
require "microstation/extensions/faa"
|
7
|
+
require "pry"
|
8
8
|
|
9
9
|
class PwApp
|
10
10
|
include Methadone::Main
|
11
11
|
include Methadone::CLILogging
|
12
12
|
|
13
13
|
main do
|
14
|
-
directory_path = Pathname(
|
14
|
+
directory_path = Pathname(options["save-dir"]).expand_path
|
15
15
|
exit_now! "arg directory: #{directory_path} doesn't exist" unless directory_path.directory?
|
16
16
|
|
17
17
|
|
18
|
-
app =Microstation.save_current_drawing(directory_path,exit: options[
|
19
|
-
binding.pry unless options[
|
20
|
-
|
21
|
-
|
18
|
+
app = Microstation.save_current_drawing(directory_path, exit: options["exit"])
|
19
|
+
binding.pry unless options["exit"]
|
22
20
|
end
|
23
21
|
|
24
22
|
description "Save the currently open projectwise drawing"
|
25
23
|
|
26
|
-
options[
|
27
|
-
options[
|
24
|
+
options["save-dir"] = Pathname.getwd
|
25
|
+
options["exit"] = true
|
28
26
|
on("-d DIR", "--save-dir", "Set the location of the save dir")
|
29
|
-
on("-e", "--[no-]exit",TrueClass, "Close the Microstation instance")
|
27
|
+
on("-e", "--[no-]exit", TrueClass, "Close the Microstation instance")
|
30
28
|
|
31
29
|
version Microstation::VERSION
|
32
30
|
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|