Advance Steel custom commands-share your ideas

Advance Steel custom commands-share your ideas

acbsdesign
Mentor Mentor
238,508 Views
814 Replies
Message 1 of 815

Advance Steel custom commands-share your ideas

acbsdesign
Mentor
Mentor

Hello,

It will be nice to learn more about custom commands / combination of Autocad and Advance Steel commands improving productivity. 

To colleagues willing to share-Thank you.

 

Here is a tiny example:

"Hide parts with identical numbers"-used when parts are detailed using drawings styles.

 

^C^C_AstM5equalpartsMarkSame \;AstM4CommSelectMarkedObjects ;_AstM4SwitchReprMode off

 

And another one:

"Hide Similar Advance Steel Objects":

^C^C_SelectSimilar \;_AstM4SwitchReprMode off

 

Regards, 

Ilko Dimitrov

ACBS

If this information was helpful, please use the Accept as Solution function, this makes it easier for other users.

Regards,
Ilko Dimitrov, IDC-1, M. Eng.
Tekla and Advance Steel Detailer
ACBS Structural Steel Detailing

If it is made of steel, I can model it and detail it.

acbs-usa.com | Helpful Place



Accepted solutions (126)
238,509 Views
814 Replies
Replies (814)
Message 461 of 815

bigcarl5000kg
Advisor
Advisor

time to switch ... for better future 😉👍

thank you @Sebastian_Eiche, you have saved my live today

+++ impossible immediately and miracles within 3 days +++
+++ the only constant is the change +++ stay tuned for more +++
+++ since 03/2023 is Advance Steel in maintenance mode, no further development +++
Message 462 of 815

SanjoyNath
Advocate
Advocate

Dear Respected @acbsdesign ,

 

It would help us far better if we could call these functions directly from the .scr files or from lisp

There are several cases where multiple command conditions with switching are to use on the conditionally selected objects for several automated tasks

 

Sanjoy Nath
BIM Manager And Digital Lead (Structures Online)
BOOST, AR , VR ,EPM,IFC API,PDF API , CAD API ,Revit API , Advance Steel API
Founder of Geometrifying Trigonometry(C)
0 Likes
Message 463 of 815

acbsdesign
Mentor
Mentor

@SanjoyNath 

Hi, I apologize, I am a detailer and not a software engineer.

The food chain is as follows: Detailer gets a project, does a good job, gets paid, and he or she pays a company to develop software to be used by the detailer.

 

Sometimes the developers listen to the detailers and make improvements. But this is a separate subject.

 

My idea when started this thread was to put together the knowledge and the experience of many users worldwide to share it, and many did.

Since this thread started, many simple steps such as the use of custom commands improved the workflow and we all benefitted.

Productivity is improved. 

But this was possible only because everyone shared - Thank you.

 

So my simple request to you would be-please share more.

 

If you have a practical idea to save 50-100 clicks a day-please share it.

 

Have a great day and stay safe. 

 

 

 

If this information was helpful, please use the Accept as Solution function, this makes it easier for other users.

Regards,
Ilko Dimitrov, IDC-1, M. Eng.
Tekla and Advance Steel Detailer
ACBS Structural Steel Detailing

If it is made of steel, I can model it and detail it.

acbs-usa.com | Helpful Place



Message 464 of 815

markhubrich
Advisor
Advisor

Did you guys try out the latest Dynamo for AS? Finally they included many long awaited features. It has now become "useful" 😄 

...and fix the kiss export issues.
Message 465 of 815

acbsdesign
Mentor
Mentor

@markhubrich 

No, not yet, ...just the nature of the work we are doing is not quite that type. When you get a minute free-can you make a short screencast with something new. Thank you.

If this information was helpful, please use the Accept as Solution function, this makes it easier for other users.

Regards,
Ilko Dimitrov, IDC-1, M. Eng.
Tekla and Advance Steel Detailer
ACBS Structural Steel Detailing

If it is made of steel, I can model it and detail it.

acbs-usa.com | Helpful Place



Message 466 of 815

SanjoyNath
Advocate
Advocate

Dear Respected Sir @acbsdesign ,

I am also detailer but from 1998 days when we had to use keyboard and coordinates to draw lines

Since we are doing detailing from the mouseless days we needed several different though process to calculate coordinates, selections through keyboard (coordinates) and all things with command prompt so we used  scr systems , batch systems and  lisp too much

 

 

Sanjoy Nath
BIM Manager And Digital Lead (Structures Online)
BOOST, AR , VR ,EPM,IFC API,PDF API , CAD API ,Revit API , Advance Steel API
Founder of Geometrifying Trigonometry(C)
0 Likes
Message 467 of 815

Jonathan3891
Advisor
Advisor
Accepted solution

I had the need to model grout and so I created this lisp with some help from @Kent1Cooper.

 

This only creates a 3D solid NOT any AST objects or entities.

 

The command is pretty simple. Activate the command and you are prompted with the option to grout from "Pedestal" or "BasePlate". After you've selected an option and specified the required corners (read the prompt!) you are able to input the grout thickness.

 

Grouting from a pedestal will grout in the positive Z direction.

Grouting from a Baseplate will grout in a negative Z direction.

 

You will need to edit the following line to your standards:

 

"_layer" "m" "Grout" "c" "251" "" "lt" "continuous" "" "" ; Set Grout Layer

 

Current Layer Name = "Grout"
Current Layer Color = "251"

 

 

(defun c:3dGrout (/ Result)
  (initget 1 "Pedestal BasePlate") ;1 = no enter allowed
  (setq Result (getkword (strcat "\nGrout from: [Pedestal/BasePlate]:")))
  (cond
    ((= Result "Pedestal")(GrtPed))
    ((= Result "BasePlate")(GrtBP))
    );cond
  );defun


(defun GrtPed (/ Pnt1 Pnt2 Obj1 Obj2)
  (setq olayer (getvar 'clayer)); Get Current Layer
  (setq Pnt1 (getpoint "First corner at top of pedestal: ")
	Pnt2 (getpoint "Opposite corner: ")
  ); setq
  (initget (if (and (not _GrtThk_) (= (getvar 'offsetdist) -1.0)) 7 6))
  (setq _GrtThk_ ; global variable, to offer as default on subsequent use
    (cond
      ( (getdist ; User input
          (strcat
            "\nGrout Thickness"
            (cond
              (_GrtThk_ (strcat " <" (rtos _GrtThk_) ">")); prior _GrtThk_ value
              ((/= (getvar 'offsetdist) -1.0) (strcat " <" (rtos (getvar 'offsetdist)) ">"))
                ; regular Offset's distance if not Through
              (""); no default if neither above condition
            ); cond
            ": "
          ); strcat
        ); getdist
      ); User-input
      (_GrtThk_); User Enter with prior _GrtThk_ value
      ((/= (getvar 'offsetdist) -1.0) (getvar 'offsetdist))
    ); cond
  ); setq
  (command "_layer" "m" "Grout" "c" "251" "" "lt" "continuous" "" "" ; Set Grout Layer
	   "_.rectang" (mapcar 'min Pnt1 Pnt2) (mapcar 'max Pnt1 Pnt2))
  (setq Obj1 (entlast))
  (command "_.offset" "" Pnt2 "_m2p" Pnt1 Pnt2 "")
  (setq Obj2 (entlast))
  (command "_.move" Obj2 "" (list 0 0 _GrtThk_) ""
	   "_.loft" Obj1 Obj2 "" ""
  ); command
  (setvar 'clayer olayer)
  (princ)
); defun

(defun GrtBP (/ Pnt1 Pnt2 Obj1 Obj2)
  (setq olayer (getvar 'clayer)); Get Current Layer
  (setq Pnt1 (getpoint "First corner at bottom of base plate: ")
	Pnt2 (getpoint "Opposite corner: ")
  ); setq
  (initget (if (and (not _GrtThk_) (= (getvar 'offsetdist) -1.0)) 7 6))
    ; no Enter if no prior value and regular Offset is Through; no zero; no negative
  (setq _GrtThk_ ; global variable, to offer as default on subsequent use
    (cond
      ( (getdist ; User input
          (strcat
            "\nGrout Thickness"
            (cond
              (_GrtThk_ (strcat " <" (rtos _GrtThk_) ">")); prior _GrtThk_ value
              ((/= (getvar 'offsetdist) -1.0) (strcat " <" (rtos (getvar 'offsetdist)) ">"))
                ; regular Offset's distance if not Through
              (""); no default if neither above condition
            ); cond
            ": "
          ); strcat
        ); getdist
      ); User-input condition
      (_GrtThk_); User Enter with prior _GrtThk_ value
      ((/= (getvar 'offsetdist) -1.0) (getvar 'offsetdist))
        ; User Enter with no _GrtThk_ value but regular Offset is not Through
    ); cond
  ); setq
  (command "_layer" "m" "Grout" "c" "251" "" "lt" "continuous" "" "" ; Set Grout Layer
	   "_.rectang" (mapcar 'min Pnt1 Pnt2) (mapcar 'max Pnt1 Pnt2))
  (setq Obj1 (entlast))
  (vla-Offset (vlax-ename->vla-object Obj1) _GrtThk_)
  (setq Obj2 (entlast))
  (command "_.move" Obj2 "" (list 0 0 (- _GrtThk_)) ""
	   "_.loft" Obj1 Obj2 "" ""
  ); command
  (setvar 'clayer olayer)
  (princ)
); defun

 

 

 

 


Jonathan Norton
Blog | Linkedin
Message 468 of 815

S.MANICKAVASAGAM
Collaborator
Collaborator

Dear expert,

                 Delete numbering for all useful to one.

             how to change your command for delete numbering selected members only.

             I delete "select all" in your command. but not work. Please to be guided.

Thanks & Regards
S.MANICKAVASAGAM
FAB. DETAILER
My body Your body Every body is Just SOIL body

If this information was helpful, please use the Accept as Solution function, this make it easier for other users
0 Likes
Message 469 of 815

bigcarl5000kg
Advisor
Advisor
Accepted solution

1. Delete part numbers - SP/MP/Preliminary at once (icon see Attachement)

 

^C^C_AstM5EqualPartsSwitchSingle;_AstM5equalpartsDelNumber;^C^C_AstM5EqualPartsSwitchMain;_AstM5equalpartsDelNumber;^C^C_AstM5EqualPartsSwitchPreliminary;_AstM5equalpartsDelNumber;

 

 

2. Offset the object on both sides (LISP and icon see Attachement)

 

^C^C_ACM-Doffset

 

 

 

 

 

+++ impossible immediately and miracles within 3 days +++
+++ the only constant is the change +++ stay tuned for more +++
+++ since 03/2023 is Advance Steel in maintenance mode, no further development +++
0 Likes
Message 470 of 815

Sebastian_Eiche
Mentor
Mentor

1. Delete part numbers - SP/MP/Preliminary at once (icon see Attachement)

 

^C^C_AstM5EqualPartsSwitchSingle;_AstM5equalpartsDelNumber;^C^C_AstM5EqualPartsSwitchMain;_AstM5equalpartsDelNumber;^C^C_AstM5EqualPartsSwitchPreliminary;_AstM5equalpartsDelNumber;



 

but this will delete all numbers...this should be clear.
To have to selected objects, you will need some additional commands


Sebastian Eiche
Application Engineer @Mensch und Maschine acadGraph

EESignature

If this information was helpful, please use the Accept as Solution function, this make it easier for other users

0 Likes
Message 471 of 815

bigcarl5000kg
Advisor
Advisor

Hi @Sebastian_Eiche ,

 

 this version is intended to delete all numbers only  😉

 

but if you select the objects before, it works as you mentioned ... numbers of selected objects will be deleted

+++ impossible immediately and miracles within 3 days +++
+++ the only constant is the change +++ stay tuned for more +++
+++ since 03/2023 is Advance Steel in maintenance mode, no further development +++
0 Likes
Message 472 of 815

Sebastian_Eiche
Mentor
Mentor

if you select objects before, the selection will be aborted after the first command (in you case delete singleparts).

the command is the switch to mainpart, and in this step, the selection will be off. So here we had to use additional commands for using the previous selection. I thought the this command was already written in one of the 24 sites 😃


Sebastian Eiche
Application Engineer @Mensch und Maschine acadGraph

EESignature

If this information was helpful, please use the Accept as Solution function, this make it easier for other users

Message 473 of 815

Sebastian_Eiche
Mentor
Mentor
Accepted solution

for selected elements should be this:

^C^C_AstM5EqualPartsSwitchSingle;_AstM5equalpartsReset;;_AstM5EqualPartsSwitchMain;_select;p; ;_AstM5equalpartsReset;;_AstM5EqualPartsSwitchPreliminary;_select;p; ;_AstM5equalpartsReset;;


Sebastian Eiche
Application Engineer @Mensch und Maschine acadGraph

EESignature

If this information was helpful, please use the Accept as Solution function, this make it easier for other users

Message 474 of 815

bigcarl5000kg
Advisor
Advisor
Accepted solution

where the comrades made a mistake 😃

 

Delete numbering (SP/MP/Pre) for all objects:

^C^C_AstM5EqualPartsSwitchSingle;_AstM5equalpartsDelNumber;^C^C_AstM5EqualPartsSwitchMain;_AstM5equalpartsDelNumber;^C^C_AstM5EqualPartsSwitchPreliminary;_AstM5equalpartsDelNumber;

 

Delete numbering (SP/MP/Pre) for selected objects - for more objects with identical numbers, just choose one :

^C^C_AstM5EqualPartsSwitchSingle;_AstM5equalpartsDelNumber;^C^C_AstM5EqualPartsSwitchMain;_select;_p;;_AstM5equalpartsDelNumber;^C^C_AstM5EqualPartsSwitchPreliminary;_select;_p;;_AstM5equalpartsDelNumber;

+++ impossible immediately and miracles within 3 days +++
+++ the only constant is the change +++ stay tuned for more +++
+++ since 03/2023 is Advance Steel in maintenance mode, no further development +++
0 Likes
Message 475 of 815

bigcarl5000kg
Advisor
Advisor

Hi @Sebastian_Eiche,

 

if I use your version, it delete all SP (only)

 

bigcarl5000kg_0-1629381082282.png

 

+++ impossible immediately and miracles within 3 days +++
+++ the only constant is the change +++ stay tuned for more +++
+++ since 03/2023 is Advance Steel in maintenance mode, no further development +++
0 Likes
Message 476 of 815

Sebastian_Eiche
Mentor
Mentor

Which version? Which language? In the German installation you had to use other commands


Sebastian Eiche
Application Engineer @Mensch und Maschine acadGraph

EESignature

If this information was helpful, please use the Accept as Solution function, this make it easier for other users

0 Likes
Message 477 of 815

bigcarl5000kg
Advisor
Advisor

tested in AS2020, USA 

+++ impossible immediately and miracles within 3 days +++
+++ the only constant is the change +++ stay tuned for more +++
+++ since 03/2023 is Advance Steel in maintenance mode, no further development +++
0 Likes
Message 478 of 815

Sebastian_Eiche
Mentor
Mentor

I tried it in the 2021 international, I will have a look tomorrow


Sebastian Eiche
Application Engineer @Mensch und Maschine acadGraph

EESignature

If this information was helpful, please use the Accept as Solution function, this make it easier for other users

0 Likes
Message 479 of 815

Sebastian_Eiche
Mentor
Mentor

are you sure, you use my command? Important is, you had to select the objects first! and now you could use the command
I tested it and it works correct: https://autode.sk/3geCj4Y


Sebastian Eiche
Application Engineer @Mensch und Maschine acadGraph

EESignature

If this information was helpful, please use the Accept as Solution function, this make it easier for other users

0 Likes
Message 480 of 815

bigcarl5000kg
Advisor
Advisor

Hi @Sebastian_Eiche,

 

you use XML-form of the command.

 

As standard command macro, checked in my INT / USA / DEU (with changes) version, it appears this attention 2x (only) and .. that's all ...

bigcarl5000kg_0-1629457750431.png

 

The result - all SP (not selected only) are deleted ... hmm

+++ impossible immediately and miracles within 3 days +++
+++ the only constant is the change +++ stay tuned for more +++
+++ since 03/2023 is Advance Steel in maintenance mode, no further development +++
0 Likes