karfung Posted 11 hours ago Posted 11 hours ago (edited) Hi Team, I wish to create a Lisp code for slab rebar detail that has the following conditions, Legend = The perimeter green line represents the edge line of the slab, the yellow dashed line represents the internal beam where the slab is continuous. Clouded with orange colour is the slab rebar. Clouded with purple colour is the arrangement of slab rebar in that direction. Condition 1 = User to point 6 locations to create the slab rebar length. The starting point of the rebar will be the location at last 33.33% or one-thirds length of the 1st and 2nd location. It applied the similar for 3rd and 4th location which to determine the end point for the rebar length, as shown in item 3 in the picture. Subsequently, to point 5th and 6th location to create the length of the rebar arrangement (arrow), as shown in item 2 in the picture. This will allow for creation in both vertical and horizontal directions. To allow the user to point the location without straight alignment. Condition 2 = User to point 6 locations to create the slab rebar length. If the slab rebar is started at the slab edge (green colour line), user to type "x" and point 1st location, this represents the started point of the rebar, as shown in item 2 in the picture. Automatically, 2nd location to be skipped and continues with the 3rd, 4th, 5th, and 6th location. If slab rebar ended at slab edge (green colour line), user to type "x" and point the 3rd location and 4th location to be skipped. - The start and end of the slab reber shall finish with the 90 deg bent with 100mm length. - Create the default text A7 (T) at the centre. - Create solid circle with 100 diameter at the intersection of the line as shown in the picture. - The line layer to follow the layer as per the drawing attached. Kindly advise the lisp code above. Thanks. Drawing1.dwg Edited 11 hours ago by karfung Quote
BIGAL Posted 4 hours ago Posted 4 hours ago (edited) Yes is the answer to a lisp but it will cost you, but you will get much more than just what you have asked for as I have different lisps for Concrete slab design. More than is shown in this toolbar. Two solutions needed, it is not that hard to do a dimension using correct style turn off all the extensions etc and you will have a double arrow dimension, 1st step. Don't really need code. Pick 1st point then use perp for second point and over ride dimension with "A7" etc. Can do a mini defun in lisp if needed. You should be using a dwt "drawing template" for your work so the Dim style would be there already. Second step is a line with donuts at intersection, you use (SSGET "F" pts (list (cons 8 "REOBARLAYER")))) where pts is (list pt1 pt2) you can then draw a dummy line and use the vl Intersectwith method to find the intersecting points and draw donuts. That is your homework plenty of examples about SSGET and Intersectwith. Edited 4 hours ago by BIGAL Quote
karfung Posted 1 hour ago Author Posted 1 hour ago 2 hours ago, BIGAL said: Yes is the answer to a lisp but it will cost you, but you will get much more than just what you have asked for as I have different lisps for Concrete slab design. More than is shown in this toolbar. Two solutions needed, it is not that hard to do a dimension using correct style turn off all the extensions etc and you will have a double arrow dimension, 1st step. Don't really need code. Pick 1st point then use perp for second point and over ride dimension with "A7" etc. Can do a mini defun in lisp if needed. You should be using a dwt "drawing template" for your work so the Dim style would be there already. Second step is a line with donuts at intersection, you use (SSGET "F" pts (list (cons 8 "REOBARLAYER")))) where pts is (list pt1 pt2) you can then draw a dummy line and use the vl Intersectwith method to find the intersecting points and draw donuts. That is your homework plenty of examples about SSGET and Intersectwith. @BIGAL Please share me. You can reach me at WhatsApp +60129736757 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.