Briefing Document
We are looking for someone who can take the following excel sheet, and create schedules from the information inside that sheet using VBA Macros.
The next stage would be to use the information in that schedule, to insert a block with pre-populated attribute.
Examples have been given inside of all the information that would be required.
Please note, this will also use dynamic properties and toggle these too.
The document [Calculations] has been given with the information, and the schedules have been pre-populated and highlighted. The VBA Buttons have been added, but no macro assigned.
All unnecessary tabs have been hidden, please try not to delete these.
Notes for commands:-
Create Schedule Commands
This macro should take the information on the schedules, and paste them as values on the schedule. Please note, sometimes maths is involved, this is shown in the schedule where appropriate.
These should overwrite the values in the separate schedules in the folder, given as examples. The insert point is also highlighted in red in each schedule, alongside notes. Notes are in light orange, mathematical values are in darker orange.
VRF Schedule, the first macro, works. It only works if the Sheet is in the Calculations Workbook as an internal Sheet however, and this should be rewritten to the external schedule instead. It should also be rewritten to work on the selection only. I.e. User selects range, runs macro and the macro only runs on that range.
Each Value shall run below the nearest occupied space, as er the VRF Macro command. It should not overwrite any cells.
Please note the quantity element. If the quantity is 3, then the macro should place 3 entries in the schedule.  
After each command, the following notice should be given “Schedule created, valued will be pasted at the bottom of the schedule and will not overwrite the existing cells.”
Import all
This command would import each block into the drawing, with the user selected position. The command should pause to allow the user to position this block, once positions, the command should move on to the next.
Each block is designated in the schedule column, and the block should import with all attributes pre-populated into the bloc. If the attribute exists, then it should overwrite. If this doesn’t exist, then it should create one.
Text size for attributes should be 100mm, and pasted at 0,100,0. Each one should then paste thereafter at increments of 100 on the Y axis. E.g. the second one should be pasted at 0,200,0. The layer should be 00_Guidelines)
Some of the schedule information shall toggle dynamic properties, and this has also been shown where applicable.
All attributes to be imported are highlighted in Dark Green.
After the command, the following notice should be given “Command finished.”

Import all into zones
This command would import all prepopulated blocks into the centre of each zones (AREA-SERVED on the schedule) on the Layer ZONES. The layer will always be in the drawing, however if it is not, then an error should return saying “Could not find zones” and then the command allows the user to import and paste all  blocks pre-populated by the attributes, one by one. (See above command)
The “Zones” are determined by the Polylines, and more specifically the MText within those polylines. The polylines encasing the MText are what make up this “Zone”. See example LISP attached which uses this concept for info.
The command should be generic, and be able to be used for all types of schedules. The command should import the block from the BLOCKNAME column, which will be a header in the table.
After the command, the following notice should be given “Command finished.”

Separate Schedule
This command would separate the current tab into a new document, but still maintain the links.
After the command, the following notice should be given “Command finished.”

Update Blocks Based on Schedule
This command would find the block, match the unique reference and then update the remainder of the attributes based on the schedule values.
After the command, the following notice should be given “Command finished.”

Update Schedule Based on blocks
This command would find the attributes from the selected block or blocks in AutoCAD, match the unique reference on the schedule and then update the remainder of the schedule values based on the attribute.
After the command, the following notice should be given “Command finished.”

Import and Link
This command would import the schedule as a data link, without a set range, and then pause to allow the user to paste into the drawing. Once this is pasted, it shall then allow the user to paste each block starting from the first reference, with the pre-populated attributes as FIELDS. (Field – Formula – Cell). So, when the data link updates, the fields also update.
After the command, the following notice should be given “Command finished.”

Separate AutoCAD command (LISP or VBA) – Overwrite attribute as a field (Cell). Allow the user to select a cell, then paste into a block as a field.

There should be 9 documents in attachments, if this has not come through, we may need to distribute through a link.

Please submit total cost for project when applying. This shall be used as the budget.

Posted On: July 14, 2024 16:26 UTC
Category: Scripting & Automation
Skills:Visual Basic for Applications, Microsoft Excel, Macro Programming, Autodesk AutoCAD

Country: United Kingdom

click to apply

Powered by WPeMatico