Blogs

Sample TMLs

3 people recommend this.
The attached zip file ( MacroCommands.zip ) contains a collection of python files that demonstrate creating TML macros for use by TrimbleBusinessCenter. There are 54 macros in the zip file. The python files are included here in source form to help others learn how to develop their own macros. If you just want access to the macro, all of the macros are available using Rockpile Solution's TMLStatus macro. In fact, the macros obtained using TmlStatus might have enhancements and bug fixes that these do not have.
0 comments
Be the first person to recommend this.
A number of customers have asked me for a list of possible TML developers that could do work for them to solve problems that they want resolved. At Trimble we strive to meet customer requirements, but like any organization we have limited resources and available bandwidth to do so. We developed the TML capability for this specific reason, if something is important enough to you to resolve that you are prepared to pay to get it solved in a timely manner, there are a growing number of people out there that can do TML development on TBC v5 or later to help you to solve your issues, independent of waiting for Trimble to solve the issue for you. I thought that ...
0 comments

TML - VPI at Elevation

Be the first person to recommend this.
This simple TML will add a vertical PI at the specified elevation. If the linestring has more than one segment that intersects with the defined elevation, a VPI will be created at each intersection. Attachment(s) VpiAtElev.zip
0 comments

TML - View Project Data

Be the first person to recommend this.
This TML is helpful for macro developers to explorer the object model of a TBC project file. The tree view displays every object found (starting at the top level "Project" object). When an object is selected, the bottom area of the window will report every interface defined for that object. You can also see the full "namespace" of each object. In the example shown, you can tell that the arc is defined in the Trimble.Vce.ForeignCad namespace. This is helpful when using the "Object Browser" view in Visual Studio. Attachment(s) ViewProjectData.zip
0 comments

TML - 3D points to arc

Be the first person to recommend this.
This TML will create an arc in the plane defined by three 3D points. Coordinates 1 and 3 define the beginning and end of the arc. This command is useful when used with building scans and you want to create an arc from the scanned locations. Attachment(s) 3DPtsToArc.zip
0 comments
Be the first person to recommend this.
The following link will download the msi package for the macro sdk updated to work with version 5.70. https://dl.trimble.com/osg/survey/macros/trimble_macros_sdk_v5.70.msi The following link will download the msi package for the macro sdk updated to work with version 5.50. https://dl.trimble.com/osg/survey/macros/trimble_macros_sdk_v5.50.msi , In version 5.50, some of the assemblies were renamed (usually Trimble.Vce.xxx to Trimble.Sdk.xxx). In order for the macro to work with version 5.50, you need to take into account the assembly name change. One of the assemblies renamed was "Trimble.Vce.Interfaces". That assembly was referenced by the project file (*.pyproj). ...
1 comment

TML - Invert Color

Be the first person to recommend this.
This simple TML is to invert the color of objects. It will change the current color property, or the color 'by layer,' to the complementary color. The primary use cases are changing light colors of points and lines to darker colors to be used on a white background. This may include field software, such as SiteWorks and Earthworks, and Drafting on white paper. Standard: Inverted: Project example: This CAD file has mostly light colors. When sent to the field, many lines are difficult to see in Siteworks in direct sunlight. Select the light colored objects, and run 'Invert Color.' Here are the results, exported ...
0 comments
Be the first person to recommend this.
This simple TML is to re-layer Point objects based on their Feature Code. Run this command to move selected Points to new or existing layers with the same name as the Feature Code attribute. TBC behavior: Imported points from field software, such as SiteWorks or SCS900, are automatically layered in TBC based on the .FXL (Feature Code Library) file referenced in the .SPJ (Work Order) When an .FXL file is not used, the 'SCS900 Default' .FXL is applied, which sends all points and lines to generic layers based on the object type. (E.G. SCS_Measure_Point) Points imported as a .CSV all end up on the Points layer. The following is a sample of the ...
1 comment
Be the first person to recommend this.
Hi All We are happy to announce that we are throwing our hat into the ring. Accupoint has engaged with Revenant Solutions to bring a few Macros to the market, beginning with a focus on Field Data Prep and Takeoff workflows. We are excited to release our first 3 TMLs shortly. Each will have it's own blog post here on the forum, following Gary Lantaff's standard. Each release will be in Beta, with a semi-open invitation for testers. Simply request a temporary license and give it a shot. Please feel free to hit me up with any questions, comments or requests on our products. Thanks, Nelson Hays
4 comments
Be the first person to recommend this.
Greetings from the world of independent TML development! While many of you have met us at the Power Users Group training events in Colorado or in-between TBC sessions at Dimensions, Revenant Solutions has yet to make itself known on the forums. We believe that 2020 will be "The Year of the TML", and in that spirit, we'd like to break the ice, introduce ourselves, and get to the business of connecting with TBC users and other TML developers beyond face-to-face events. So, per last year's potential TML development partner post by @Alan Sharp (to be @Alan Sharp at Rockpile), we've created a company profile post . We look forward to getting ...
0 comments
Be the first person to recommend this.
Revenant Solutions LLC is an independent software developer based in Westminster, Colorado. After developing Business Center - Heavy Construction Edition for 12 years, Revenant Solutions was formed in 2018 to provide software development services to the wider TBC community. Our mission is to connect users, developers, and dealers, and to enable and empower them to unlock the capabilities of the TBC platform. Build. Want us to build a TML defined and owned by you? Want us to jumpstart development on a Revenant TML you need now/soon? As an established software developer contractor, we can make that happen. Since 2018, we have served multiple software ...
0 comments
Be the first person to recommend this.
This macro will compute the elevation difference between each point in a linestring and the computed elevation of a specified corridor. The elevation differences are used to create a polyline in the profile view of the corridors alignment. A vertical offset can be applied. This macro is handy when doing pavement resurfacing. The computed lines would then show the difference between the surveyed location and the design elevation at each station . From there you can then easily see in the profile view where you have to make vertical adjustments. After adjusting the template or the vertical alignment, then delete the old computed lines and run the TML agai ...
0 comments

TML - Explode Lines

Be the first person to recommend this.
This macro will explode the selected lines into individual segments. Each segment can be converted into a new line or only break into new lines whenever the deflection angle between segments exceeds specified angle. There is also an option to relayer the new linework based on where the exploded segment was in the original line. This option only applies if the original line was closed. This is ideal for breaking up CAD and PDF cross-section data in preparation for conversion into 3D lines, which saves hours of painstaking work and makes selecting data easier and faster in the 3D View.
3 comments

TML - Increment Text

Be the first person to recommend this.
Use this macro for many things, including labeling cross-sections imported from PDF where the text in the PDF is absent (replaced with polylines that look like text, but are not text). Often PDF files have text drawn as polylines, rendering the text useless for station labels and grid labels (for offsets and elevations). The TML allows you to specify the text style, layer, text height, etc. and then specify a start value and an increment (like station 0 with an increment of 100), and then rapidly click all of the section zero offset line end points to place station text on the cross-sections which can then be used to convert them into stored cross-sections ...
0 comments
Be the first person to recommend this.
This macro is kind of like simple feature coding. It creates lines by joining selected points where the feature code name is the same. The points are sorted by station from a reference alignment. If the station difference between points is larger than the "Max segment length", then a new line will be started (leaving a "gap").
0 comments
Be the first person to recommend this.
This macro will move selected points so that they fall exactly on even stations (if the move distance is less than the specified station tolerance). There is also an option to move selected points to a specified station (as long as current computed station is withen the "station tolerance" of specified station). This can be handy if you import points that are expected to be at the same station but due to roundoff (or survey measurement accuracy), the stations are a bit "off". If you then use those points in a surface, the computed cross-section may contain extra nodes due to the way triangles are computed.
1 comment

TML - TrackLineEdge

Be the first person to recommend this.
This macro can be used to connect the outside edges of linework (as computed from the selected reference alignment). Each node in every selected line has its station and offset computed. The min and max offset values at each computed station is then used to create a linestring connecting the edges. This is usually used to connect 3D cross-section linework in order to produce surface models.
0 comments
Be the first person to recommend this.
This macro is helpful in cases where you have lots of points to key in based on their station and offset values. The station and elevation support the "Auto-Advance" option. If "Auto-Advance" set on the station field, when user presses the "Apply" button (usually by pressing "Enter"), then the focus returns to the offset control. Use TmlStatus to download the latest version of the macro. The macro does have one option. By default, the macro creates normal points (same as using the CreatePoint command). If the "Create Dependent Points" checkbox is checked, then points that remember their station and offset values are created. In this case, updates ...
10 comments

TML - Voice Commands

Be the first person to recommend this.
If you want to play around using your voice to execute TBC commands, just run TMlStatus and download the macro VoiceCommand. The macro is being provided "as-is" (but it's fun to play with) It's actually a simple macro that loads every TBC command into the default speech engine of windows. I tested it using Windows 10 but it should work with older versions. The default voice input device is used and there are no voice settings defined in the macro. When the speech engine hears a "match", it calls a method in the macro and the macro starts that command. Four other "commands" are added to the command list. 1) "OK" will cause the default accept button ...
6 comments

Compute Lot Setback line

Be the first person to recommend this.
The macro ComputeLotSetback (available using TmlStatus) will compute a lot setback line using user specified setback distances. First, define the setback offsets for each part of the lot (front, back, left, right). There is another side setback offset used in the special case where the frontage is tangent to one of the sides (usually corner lot). Once the lot setbacks have been defined, you can hide this section by collapsing this group. Just click on the ^ icon. There are two options to select the lot boundary. If the lot boundary is already defined as a closed lines, then you can just pick it. Otherwise, use the "Select lot boundary ...
1 comment