microstation 0.8.4 → 0.8.5

Sign up to get free protection for your applications and to get access to all the features.
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