Module: Microstation
- Defined in:
- lib/microstation.rb,
lib/microstation/app.rb,
lib/microstation/dir.rb,
lib/microstation/dir.rb,
lib/microstation/tag.rb,
lib/microstation/text.rb,
lib/microstation/wrap.rb,
lib/microstation/wrap.rb,
lib/microstation/drawing.rb,
lib/microstation/scanner.rb,
lib/microstation/tag_set.rb,
lib/microstation/template.rb,
lib/microstation/scan/type.rb,
lib/microstation/text_node.rb,
lib/microstation/attributes.rb,
lib/microstation/enumerator.rb,
lib/microstation/properties.rb,
lib/microstation/scan/color.rb,
lib/microstation/scan/klass.rb,
lib/microstation/scan/level.rb,
lib/microstation/pdf_support.rb,
lib/microstation/ts/instance.rb,
lib/microstation/scan/subtype.rb,
lib/microstation/ts/attribute.rb,
lib/microstation/configuration.rb,
lib/microstation/scan/criteria.rb,
lib/microstation/scan/criteria.rb,
lib/microstation/cad_input_queue.rb,
lib/microstation/scan/line_style.rb,
lib/microstation/scan/line_weight.rb
Defined Under Namespace
Modules: Attribute, MSD, PdfSupport, Properties, Scan, TS, Wrap
Classes: App, CadInputQueue, Configuration, Definer, Definition, Dir, Drawing, Element, Enumerator, Scanner, Tag, TagSet, TagSets, TaggedElement, Template, Text, TextNode, VariableDefined
Constant Summary
collapse
- VERSION =
'0.4.1'
Class Method Summary
collapse
Class Method Details
.dgn2pdf(dir, output = dir) ⇒ Object
58
59
60
61
62
63
|
# File 'lib/microstation.rb', line 58
def self.dgn2pdf(dir,output = dir)
drawings = drawings_in_dir(dir)
self.with_drawings(drawings) do |drawing|
drawing.save_as_pdf(drawing.name,output)
end
end
|
.drawings_in_dir(dir) ⇒ Object
53
54
55
56
|
# File 'lib/microstation.rb', line 53
def self.drawings_in_dir(dir)
dirpath = Pathname.new(dir).expand_path
drawings = Pathname.glob("#{dirpath}/*.d{gn,wg}")
end
|
.needs_extending?(ole) ⇒ Boolean
3
4
5
|
# File 'lib/microstation/wrap.rb', line 3
def self.needs_extending?(ole)
ole.class == WIN32OLE && (not ole.respond_to? :text?)
end
|
.open_drawing(drawing, options = {}, &block) ⇒ Object
65
66
67
|
# File 'lib/microstation.rb', line 65
def self.open_drawing(drawing,options = {}, &block)
Microstation::App.open_drawing(drawing,options,&block)
end
|
.plot_driver_directory ⇒ Object
31
32
33
|
# File 'lib/microstation.rb', line 31
def self.plot_driver_directory
root + "plot"
end
|
.root ⇒ Object
21
22
23
|
# File 'lib/microstation.rb', line 21
def self.root
Pathname.new( File.dirname(__FILE__)).parent
end
|
.run(options = {}, &block) ⇒ Object
78
79
80
81
82
83
84
85
86
|
# File 'lib/microstation.rb', line 78
def self.run(options={}, &block)
options = {:visible => false}.merge(options)
begin
app = Microstation::App.new(options)
block.arity < 1 ? app.instance_eval(&block) : block.call(app)
ensure
app.quit
end
end
|
.use_template(template, context) ⇒ Object
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
# File 'lib/microstation.rb', line 35
def self.use_template(template,context)
def context.binding
binding
end
opts = {:read_only => true}
Microstation::App.run do |app|
tmpfile = Tempfile.new('drawing')
app.new_drawing(tmpfile,template) do |drawing|
drawing.scan_text do |text|
compiled_template = ERB.new(text)
new_text = compiled_template.result(context.binding)
text = new_text
end
end
end
tempfile.read
end
|
.win_fs ⇒ Object
29
30
31
|
# File 'lib/microstation/app.rb', line 29
def self.win_fs
@windows_fs ||= Windows::FileSystem.new
end
|
.with_drawings(*files, &block) ⇒ Object
.with_drawings_in_dir(dir, &block) ⇒ Object
69
70
71
72
|
# File 'lib/microstation.rb', line 69
def self.with_drawings_in_dir(dir,&block)
drawings = self.drawings_in_dir(dir)
self.with_drawings(drawings,&block)
end
|