microstation 0.8.4 → 0.8.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c9e258964e3bdc19c8148e0c28f075c20e4a3b7432671d4738eeb928ec2d3e54
4
- data.tar.gz: 24656d582226c6d708c2bb2dc1f05a4e5109bb0ebcd6e2c75ea1c94d0377f495
3
+ metadata.gz: 44de1e81a2814b3144d827cf42861a34b92728a4150e559b3dcbfc89e4720632
4
+ data.tar.gz: b41864547b3ce27283258bd1bb0c8136b07507fe2ff1f3af7ee16c8167e17406
5
5
  SHA512:
6
- metadata.gz: b251be1af95e568c99fd52ad9cf02ead81681b1decf5c799b35a0d674cb96c457c3011c737658bab1ce52d4620dae59800f0f2a93fbcd4b9b22a09847b4ce9c6
7
- data.tar.gz: 8d6220c777a73e1d90182469aa77511a3ceffe8970b94ddb1155d15b1d878ccfdc41a0eb20bfb858c03e55512f9891ad7a739feff2dfc5fb8902b7dc8d68b389
6
+ metadata.gz: f276123db4d72d0e85b47066240d4f4563ef9bc8d95ad7aaa0a48f12f6815afc699ae90e6475fc14a2e4a8f71d0dae30e765e941f164414eb7542684c8b5f556
7
+ data.tar.gz: afa76668ebe863cbbef1ee3c0a189a88d359a61a3a550c69cd20eff646cf4031f02dddd405b9e5df49d93c2fd422d0aeba5f7a6d94b889d7f6bb6922a40ee855
data/Gemfile CHANGED
@@ -28,6 +28,7 @@ group :development, :test do
28
28
  gem 'rb-notifu'
29
29
  gem 'rb-readline'
30
30
  gem 'solargraph'
31
+ gem 'standard'
31
32
  gem 'wdm'
32
33
  gem 'win32console'
33
34
  gem 'yard'
@@ -13,9 +13,7 @@ require 'liquid'
13
13
  # //
14
14
  # ##define DISP_E_PARAMNOTFOUND _HRESULT_TYPEDEF_(0x80020004L)
15
15
  module Microstation
16
-
17
16
  class Drawing
18
-
19
17
  include Properties
20
18
  include TagSetTrait
21
19
  include ScanTrait
@@ -35,7 +33,6 @@ module Microstation
35
33
  @app.register_handler('ISaveAsEvents_AfterSaveAs') do |*args|
36
34
  @drawing_saved = true
37
35
  end
38
-
39
36
  end
40
37
 
41
38
  def find_tagset_instances_called?
@@ -79,7 +76,7 @@ module Microstation
79
76
  # @param name - the name of the file
80
77
  # @param dir - the directory to save the drawing
81
78
  # @return [void]
82
- def save_as_pdf(name: nil , dir: nil)
79
+ def save_as_pdf(name: nil, dir: nil)
83
80
  out_name = pdf_path(name: name, dir: dir)
84
81
  windows_name = app.windows_path(out_name)
85
82
  loop do
@@ -96,14 +93,14 @@ module Microstation
96
93
  # @param [Boolean] overwrite - whether to overwrite if file exists
97
94
  # @param [<Type>] format <description>
98
95
  #
99
- # @return [void]
96
+ # @return [void]
100
97
  #
101
- def save_as(name,overwrite: false, format: 0)
98
+ def save_as(name, overwrite: false, format: 0)
102
99
  @drawing_saved = false
103
100
  path = Pathname(name).expand_path
104
101
  wpath = app.windows_path(name)
105
102
  begin
106
- ole_obj.SaveAs(wpath,overwrite, format)
103
+ ole_obj.SaveAs(wpath, overwrite, format)
107
104
  wait_save_event(10)
108
105
  raise "drawing not saved in 10 seconds" unless @drawing_saved
109
106
  rescue => e
@@ -113,7 +110,7 @@ module Microstation
113
110
 
114
111
  def wait_save_event(secs, interval = 0.5)
115
112
  elapsed = 0
116
- while(!@drawing_saved && elapsed <= 5)
113
+ while (!@drawing_saved && elapsed <= 5)
117
114
  elapsed += interval
118
115
  sleep(interval)
119
116
  WIN32OLE_EVENT.message_loop
@@ -134,7 +131,7 @@ module Microstation
134
131
  def scan_model(criteria, model: default_model_reference, &block)
135
132
  criteria = criteria || create_scan_criteria
136
133
  model = model || default_model_reference
137
- model.scan_model(criteria,&block)
134
+ model.scan_model(criteria, &block)
138
135
  end
139
136
 
140
137
  # scans all the drawing models with criteria
@@ -172,7 +169,7 @@ module Microstation
172
169
  # models
173
170
  # @yield [String] text that is found
174
171
  def scan_text(&block)
175
- scan_all(text_criteria,&block)
172
+ scan_all(text_criteria, &block)
176
173
  end
177
174
 
178
175
  # scan all tags in drawing and
@@ -184,7 +181,7 @@ module Microstation
184
181
  # scan all cells in drawing and
185
182
  # @yield [Cell] to the block
186
183
  def scan_cells(&block)
187
- scan_all(cells_criteria,&block)
184
+ scan_all(cells_criteria, &block)
188
185
  end
189
186
 
190
187
  def scan_text_in_cells(&block)
@@ -195,13 +192,13 @@ module Microstation
195
192
 
196
193
  # @return [Model] the ole.DefaultModelReference
197
194
  def default_model_reference
198
- Model.new(app,self,ole_obj.DefaultModelReference)
195
+ Model.new(app, self, ole_obj.DefaultModelReference)
199
196
  end
200
197
 
201
-
202
198
  def active_model
203
199
  return nil unless has_active_model?
204
- Model.new(app,self, app_ole_obj.ActiveModelReference)
200
+
201
+ Model.new(app, self, app_ole_obj.ActiveModelReference)
205
202
  end
206
203
 
207
204
  # @return [Boolean] true if drawing has an active model
@@ -209,7 +206,6 @@ module Microstation
209
206
  app_ole_obj.HasActiveModelReference
210
207
  end
211
208
 
212
-
213
209
  # @return [Date] date last modified
214
210
  def modified_date
215
211
  ole_obj.DateLastSaved
@@ -265,14 +261,13 @@ module Microstation
265
261
  def close
266
262
  @drawing_closed = true
267
263
  ole_obj.Close rescue nil
268
- @ole_obj =nil
264
+ @ole_obj = nil
269
265
  end
270
266
 
271
267
  def drawing_closed?
272
268
  @drawing_closed
273
269
  end
274
270
 
275
-
276
271
  def pdf_name(name = nil)
277
272
  name = self.name unless name
278
273
  return Pathname(name).sub_ext(".pdf")
@@ -311,6 +306,7 @@ module Microstation
311
306
  m = model_from_ole(el).activate
312
307
  m
313
308
  end
309
+
314
310
  # Active a model
315
311
  # @param name [String] a
316
312
  def activate_model(name)
@@ -361,6 +357,7 @@ module Microstation
361
357
  # @return [Model, nil]
362
358
  def change_model(name)
363
359
  model = find_model(name)
360
+
364
361
  return unless model
365
362
  model.activate
366
363
  end
@@ -375,7 +372,6 @@ module Microstation
375
372
  result = []
376
373
  ole_obj.Models.each do |el|
377
374
  result << el.name
378
- el = nil
379
375
  end
380
376
  result
381
377
  end
@@ -394,12 +390,13 @@ module Microstation
394
390
 
395
391
  def zoom_to_element(target, n_view)
396
392
  return nil unless target.graphical?
393
+
397
394
  zoom = 4
398
395
  range = target.Range
399
396
  oview = app_ole_obj.ActiveDesignFile.Views.Item(n_view)
400
397
  range_diff = app_ole_obj.Point3dSubtract(range.High, range.Low)
401
398
  extent = app_ole_obj.Point3dScale(range_diff, zoom)
402
-
399
+
403
400
  oview_origin = app_ole_obj.Point3dSubtract(range.Low, app_ole_obj.Point3dScale(extent,0.5))
404
401
  oview.Origin = oview_origin
405
402
  oview.Extents = extent
@@ -506,7 +503,6 @@ module Microstation
506
503
  return results unless block_given?
507
504
  end
508
505
 
509
-
510
506
  def update_tagset(name,h_local={})
511
507
  tset_instances = select_tagset_instances_by_name(name)
512
508
  case tset_instances.size
@@ -1,5 +1,5 @@
1
1
  module Microstation
2
2
 
3
- VERSION = '0.8.4'
3
+ VERSION = '0.8.5'
4
4
 
5
5
  end
data/lib/microstation.rb CHANGED
@@ -50,7 +50,7 @@ module Microstation
50
50
  end
51
51
 
52
52
  def default_app_options
53
- @default_app_options
53
+ @default_app_options
54
54
  end
55
55
 
56
56
  def default_app_options=(opts)
@@ -100,7 +100,7 @@ module Microstation
100
100
  # @param dir
101
101
  def drawings_in_dir(dir)
102
102
  dirpath = Pathname.new(dir).expand_path
103
- drawings = Pathname.glob("#{dirpath}/*.d{gn,wg,xf}")
103
+ drawings = dirpath.glob("*.d{gn,wg,xf}").sort_by{ _1.basename('.*').to_s.downcase }
104
104
  end
105
105
 
106
106
  def dump_template_info_for_dir(dir, options={})
@@ -152,19 +152,19 @@ module Microstation
152
152
  end
153
153
 
154
154
  def scan_text(file,&block)
155
- App.open_drawing(file) do |d|
155
+ ::App.open_drawing(file) do |d|
156
156
  d.scan_text(&block)
157
157
  end
158
158
  end
159
159
 
160
160
  def get_text(file, &block)
161
- App.open_drawing(file) do |d|
162
- d.get_text(&block)
161
+ ::App.open_drawing(file) do |d|
162
+ d.get_text(&block)
163
163
  end
164
164
  end
165
165
 
166
166
  def get_all_text(file)
167
- App.open_drawing(file) do |d|
167
+ ::App.open_drawing(file) do |d|
168
168
  d.get_all_text
169
169
  end
170
170
  end
@@ -193,8 +193,8 @@ module Microstation
193
193
  drawing.close
194
194
  end
195
195
  end
196
-
197
- def run(...)
196
+
197
+ def run(options={}, &block)
198
198
  App.run(...)
199
199
  end
200
200
 
@@ -213,7 +213,7 @@ if $0 == __FILE__
213
213
  f.write app.ole_obj.ole_methods_detail
214
214
  end
215
215
 
216
- tlib = app.ole_obj.ole_typelib
216
+ tlib = app.ole_obj.ole_typelib
217
217
  File.open('microstation_classes.txt','w') do |f|
218
218
  f.write app.ole_obj.ole_classes_detail
219
219
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: microstation
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.4
4
+ version: 0.8.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dominic Sisneros
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-25 00:00:00.000000000 Z
11
+ date: 2021-12-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: methadone
@@ -458,7 +458,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
458
458
  - !ruby/object:Gem::Version
459
459
  version: '0'
460
460
  requirements: []
461
- rubygems_version: 3.2.11
461
+ rubygems_version: 3.2.33
462
462
  signing_key:
463
463
  specification_version: 4
464
464
  summary: A ruby gem to control and automate Bentley Microstation using win32ole