tzbm123456 发表于 2019-7-13 20:56:50

Sketchup LayOut API

tzbm123456 发表于 2019-7-13 20:59:49

本帖最后由 tzbm123456 于 2019-7-13 21:03 编辑

Class: Layout::DocumentInherits:    ObjectOverview    This is the interface to a LayOut document. A Document is the 2D drawing that the user is working with, and it serves as the “entry point” for most Ruby API interactions. The Document.open method gives you a handle to a Document, and from there you can use the document-level methods to start getting information and making changes.Examples:    # Grab a handle to an existing LayOut document.    doc = Layout::Document.open("C:/path/to/document.layout")    # Grab other handles to commonly used collections inside the model.    layers = doc.layers    pages = doc.pages    entities = doc.shared_entities    # Now that we have our handles, we can start pulling objects and making    # method calls that are useful.    first_entity = entities    number_pages = pages.countVersion:    LayOut 2018Constant Summary #    Layout::Document::VERSION_1    Layout::Document::VERSION_2    Layout::Document::VERSION_3    Layout::Document::VERSION_2013    Layout::Document::VERSION_2014    Layout::Document::VERSION_2015    Layout::Document::VERSION_2016    Layout::Document::VERSION_2017    Layout::Document::VERSION_2018    Layout::Document::VERSION_2019    Layout::Document::VERSION_CURRENT    Layout::Document::FRACTIONAL_INCHES    Layout::Document::DECIMAL_INCHES    Layout::Document::DECIMAL_FEET    Layout::Document::DECIMAL_MILLIMETERS    Layout::Document::DECIMAL_CENTIMETERS    Layout::Document::DECIMAL_METERS    Layout::Document::DECIMAL_POINTS◆Class Method Summary #.open(path) ⇒ Layout::Document    The Document.open method creates a new Document by loading an existing .layout file.◆Instance Method Summary ##==(other) ⇒ Boolean    The #== method checks to see if the two Documents are equal.#add_entity(*args) ⇒ Object    The #add_entity method adds an Entity to the Document and places it on the given Layer and Page.#auto_text_definitions ⇒ Layout::AutoTextDefinitions    The #auto_text_definitions method returns an array of AutoTextDefinition's in the Document.#grid ⇒ Layout::Grid    The #grid method returns the Grid for a Document.#grid_snap_enabled=(enabled) ⇒ Object    The #grid_snap_enabled= method sets whether or not grid snap is enabled in the Document.#grid_snap_enabled? ⇒ Boolean    The #grid_snap_enabled? method returns whether or not grid snap is enabled in the Document.#initialize(*args) ⇒ Object constructor    The #initialize method creates a new Document.#layers ⇒ Layout::Layers    The #layers method returns the Layers of the Document.#object_snap_enabled=(enabled) ⇒ Object    The #object_snap_enabled= method enables or disables inference in the Document.#object_snap_enabled? ⇒ Boolean    The #object_snap_enabled? method returns whether or not inference is enabled in the Document.#page_info ⇒ Layout::PageInfo    The #page_info method returns a reference to the PageInfo settings of the Document.#pages ⇒ Layout::Pages    The #pages method returns the Pages of the Document.#path ⇒ String    The #path method returns the full path of the Document file.#precision ⇒ Float    The #precision method returns the precision for the Document.#precision=(precision) ⇒ Object    The #precision= method sets the precision for the Document.#remove_entity(entity) ⇒ Object    The #remove_entity method removes an Entity from the Document.#save(*args) ⇒ Object    The #save method saves the Document to a file at the given path.#shared_entities ⇒ Layout::Entities    The #shared_entities method returns the Entities that exist on shared Layers in the Document.#time_created ⇒ Time    The #time_created method returns the time when the Document was created.#time_modified ⇒ Time    The #time_modified method returns the last time the Document was modified.#time_published ⇒ Time    The #time_published method returns the time when the Document was published.#units ⇒ Integer    The #units method returns the units for the Document.#units=(units_format) ⇒ Object    The #units= method sets the units for the Document.

tzbm123456 发表于 2019-7-13 21:06:20

本帖最后由 tzbm123456 于 2019-7-13 21:21 编辑

Constructor Details◆#initialize ⇒ Layout::Document◆#initialize(template_path) ⇒ Layout::DocumentThe #initialize method creates a new Layout::Document. Passing a path to an existing Layout::Document will use that file as a template. The new Layout::Document won't have a path until it is saved for the first time.Examples:doc = Layout::Document.newdoc2 = Layout::Document.new("/path/to/template.layout")Overloads:#initialize ⇒ Layout::DocumentReturns an empty Layout::Document with one Layer and one Page#initialize(template_path) ⇒ Layout::DocumentReturns an unsaved Layout::Document based on the templateParameters:template_path (String) — The path to the Layout::Document to use as a templateRaises:(RuntimeError) — if there was an error reading the template file(ArgumentError) — if the template file could not be foundVersion:LayOut 2018Class Method Details◆      .open(path) ⇒ Layout::DocumentThe open method creates a new Layout::Document by loading an existing .layout file.Examples:filename = File.join(ENV['Home'], 'Desktop', 'template.layout')doc = Layout::Document.open(filename)Parameters:path (String) — The path to the .layout file on disk.Returns:(Layout::Document) — The Layout::Document created from the .layout file.Raises:(ArgumentError) — if the file does not existVersion:
LayOut 2018Instance Method Details◆1      #==(other) ⇒ BooleanThe #== method checks to see if the two Layout::Documents are equal. This checks whether the Ruby Objects are pointing to the same internal object.Examples:doc = Layout::Document.open("C:/path/to/document.layout")document = doc.pages.first.documentdoc == documentParameters:other (Layout::Document)Returns:(Boolean)Version:LayOut 2018◆2      #add_entity(entity, layer, page) ⇒ Object#add_entity(entity, layer) ⇒ ObjectThe #add_entity method adds an Entity to the Layout::Document and places it on the given Layer and Page. If layer is a shared Layer then page may be ommitted. The Entity must not already belong to a Layout::Document. If the Entity is a Group, then the Group along with all of its children will be added to the Layout::Document.Examples:doc = Layout::Document.open("C:/path/to/document.layout")rect = Layout::Rectangle.new([, ])all_layers = doc.layersall_pages = doc.pagesdoc.add_entity(rect, all_layers.first, all_pages.first)Overloads:#add_entity(entity, layer, page) ⇒ ObjectParameters:entity (Layout::Entity) — The Entity to be addedlayer (Layout::Layer) — The Layer to add the Entity topage (Layout::Page) — The Page to add the Entity to
#add_entity(entity, layer) ⇒ ObjectParameters:entity (Layout::Entity) — The Entity to be addedlayer (Layout::Layer) — The shared Layer to add the Entity toRaises:(ArgumentError) — if no Page is passed in and layer is non-shared(ArgumentError) — if page does not belong to the Layout::Document(ArgumentError) — if layer does not belong to the Layout::Document(ArgumentError) — if entity already belongs to a Layout::DocumentVersion:LayOut 2018◆3#auto_text_definitions ⇒ Layout::AutoTextDefinitionsThe #auto_text_definitions method returns an array of AutoTextDefinition's in the Layout::Document.Examples:doc = Layout::Document.open("C:/path/to/document.layout")defs = doc.auto_text_definitionsReturns:(Layout::AutoTextDefinitions)Version:LayOut 2018◆4#grid ⇒ Layout::GridThe #grid method returns the Grid for a Layout::Document.Examples:doc = Layout::Document.open("C:/path/to/document.layout")grid = doc.gridReturns:(Layout::Grid)Version:LayOut 2018◆5#grid_snap_enabled=(enabled) ⇒ ObjectThe #grid_snap_enabled= method sets whether or not grid snap is enabled in the Layout::Document.Examples:doc = Layout::Document.open("C:/path/to/document.layout")doc.grid_snap_enabled = trueParameters:enabled (Boolean) — true for enabled false for disabledVersion:LayOut 2018

tzbm123456 发表于 2019-7-13 21:16:50

本帖最后由 tzbm123456 于 2019-7-13 21:19 编辑

◆6      #grid_snap_enabled? ⇒ BooleanThe #grid_snap_enabled? method returns whether or not grid snap is enabled in the Layout::Document.Examples:doc = Layout::Document.open("C:/path/to/document.layout")enabled = doc.grid_snap_enabled?Returns:(Boolean)(Boolean)Version:LayOut 2018◆7      #layers ⇒ Layout::LayersThe #layers method returns the Layers of the Layout::Document.Examples:doc = Layout::Document.open("C:/path/to/document.layout")layers = doc.layersReturns:(Layout::Layers)Version:LayOut 2018◆8      #object_snap_enabled=(enabled) ⇒ ObjectThe #object_snap_enabled= method enables or disables inference in the Layout::Document.Examples:doc = Layout::Document.open("C:/path/to/document.layout")doc.object_snap_enabled = falseParameters:enabled (Boolean) — true for enabled false for disabledVersion:LayOut 2018◆9      #object_snap_enabled? ⇒ BooleanThe #object_snap_enabled? method returns whether or not inference is enabled in the Layout::Document.Examples:doc = Layout::Document.open("C:/path/to/document.layout")enabled = doc.object_snap_enabled?Returns:(Boolean)(Boolean)Version:LayOut 2018◆10      #page_info ⇒ Layout::PageInfoThe #page_info method returns a reference to the PageInfo settings of the Layout::Document.Examples:doc = Layout::Document.open("C:/path/to/document.layout")page_info = doc.page_infoReturns:(Layout::PageInfo)Version:LayOut 2018◆11      #pages ⇒ Layout::PagesThe #pages method returns the Pages of the Layout::Document.Example:doc = Layout::Document.open("C:/path/to/document.layout")doc_pages = doc.pagesReturns:(Layout::Pages) — The Pages for the Layout::Document.Version:LayOut 2018◆12      #path ⇒ StringThe #path method returns the full path of the Layout::Document file. An empty string is returned for a new Layout::Document (one which has not been saved and opened).Examples:doc = Layout::Document.open("C:/path/to/document.layout")path = doc.pathReturns:(String)Version:LayOut 2018◆13      #precision ⇒ FloatThe #precision method returns the precision for the Layout::Document.Examples:doc = Layout::Document.open("C:/path/to/document.layout")precision = doc.precisionReturns:(Float) — the number specifying the precision for the Layout::DocumentVersion:LayOut 2018◆14      #precision=(precision) ⇒ ObjectNote: LayOut only allows for a finite set of precision values for each units setting, so it will set the precision to the closest valid setting for the specified units. See the “Units” section of LayOut's “Document Setup” dialog for a reference of the available precisions for each units setting.The #precision= method sets the precision for the Layout::Document.Examples:doc = Layout::Document.open("C:/path/to/document.layout")doc.precision = 0.0001Parameters:precision (Float) — The double specifying the precision for the Layout::DocumentVersion:LayOut 2018◆15      #remove_entity(entity) ⇒ ObjectThe #remove_entity method removes an Entity from the Layout::Document. If entity is a Group, then the Group and all of its children will be removed from the Layout::Document.Examples:doc = Layout::Document.open("C:/path/to/document.layout")shared_entities = doc.shared_entities# Remove the first entity in the documentdoc.remove_entity(shared_entities.first)Parameters:entity (Layout::Entity) — The Entity to be removedRaises:(ArgumentError) — if entity does not belong to the Layout::DocumentVersion:LayOut 2018

tzbm123456 发表于 2019-7-13 21:17:32

本帖最后由 tzbm123456 于 2019-7-13 21:18 编辑

◆16#save ⇒ Object·#save(path, version = Layout::Document::VERSION_CURRENT) ⇒ ObjectThe #save method saves the Layout::Document to a file at the given path. Passing an empty path string will save the Layout::Document at its current path.Examples:doc = Layout::Document.open("C:/path/to/document.layout")# Save the model using the current Layout formatfilename = File.join(ENV['Home'], 'Desktop', 'mydoc.layout')status = doc.save(filename)# Save the document to the current file using the current LayOut formatstatus = doc.save# Save the document to the current file in LayOut 3 formatstatus = doc.save(Layout::Document::VERSION_3)# Save the document in LayOut 2013 formatfilename = File.join(ENV['Home'], 'Desktop', 'mydoc_v2013.layout')status = doc.save(filename, Layout::Document::VERSION_2013)Overloads:#save ⇒ ObjectRaises:(ArgumentError) — if the Layout::Document hasn't been saved with a path yet
·#save(path, version = Layout::Document::VERSION_CURRENT) ⇒ ObjectParameters:path (String) — The path to the .layout file on disk.version (Integer) (defaults to: Layout::Document::VERSION_CURRENT) — LayOut file format to save.Raises:(ArgumentError) — if version is not a valid versionVersion:LayOut 2018◆17#shared_entities ⇒ Layout::EntitiesThe #shared_entities method returns the Entities that exist on shared Layers in the Layout::Document.Examples:doc = Layout::Document.open("C:/path/to/document.layout")entities = doc.shared_entitiesReturns:(Layout::Entities)Version:LayOut 2018◆18#time_created ⇒ TimeThe #time_created method returns the time when the Layout::Document was created.Examples:doc = Layout::Document.open("C:/path/to/document.layout")created_time = doc.time_createdReturns:(Time) — time when the Layout::Document was createdVersion:LayOut 2018◆19      #time_modified ⇒ TimeThe #time_modified method returns the last time the Layout::Document was modified.Examples:doc = Layout::Document.open("C:/path/to/document.layout")mod_time = doc.time_modifiedReturns:(Time) — time when the Layout::Document was last modifiedVersion:LayOut 2018◆20#time_published ⇒ TimeThe #time_published method returns the time when the Layout::Document was published.Examples:doc = Layout::Document.open("C:/path/to/document.layout")pub_time = doc.time_publishedReturns:(Time) — time when the Layout::Document was publishedVersion:LayOut 2018◆21#units ⇒ IntegerThe #units method returns the units for the Layout::Document.Examples:doc = Layout::Document.open("C:/path/to/document.layout")units = doc.unitsReturns:(Integer) — The unit format of the Layout::DocumentVersion:LayOut 2018◆22#units=(units_format) ⇒ ObjectThe #units= method sets the units for the Layout::Document.Examples:doc = Layout::Document.open("C:/path/to/document.layout")units_format = LAYOUT::DOCUMENT::DECIMAL_MILLIMETERSdoc.units = units_formatParameters:units_format (Integer) — The format of the units in the Layout::DocumentRaises:(ArgumentError) — if units format is not a valid formatVersion:LayOut 2018
页: [1]
查看完整版本: Sketchup LayOut API