Jump to content

Differentiating Beam tags


caddman6425

Recommended Posts

I'm going to try and explain what I'm looking for, so please bear with me. I've created property set definitions, Steel beam tag, and a Steel Beam Schedule. The PSD's contain a Letter 'B', an auto-incrementing Number, the lenght of beam, the Location in the z axis of the beam, the beam style and the beam height. These are here because when you define a beam using the member catalog and then place it in the drawing, there are no property set attached to it, so when you tag the beam it attaches the PSD's needed for the schedule table. Now here it starts to get a little tricky.

When I start tagging the beams, if the beam styles are different, then the number auto-increments. If, on the other hand, the beams are the same style, then the tag number stays the same. The problem is this, if the beams are the same style and there is a difference in lenght and/or height, them the tags come in as the same number and what I want is that these tags come in with a different number. What I was thinking is that I could define a different type of 'Number' tag that isn't a auto-incremental interger, but a formula that test the last beam tagged and if it is the same style but different length and/or height, then it will force a incremental change, else stay the same tag if all conditions are the same, while if the beams are different style will force an incremental change. I've working on this problem for the last 5 days and all I've gotten so far is that if I had a tag that had the number as a formula containing and Dim statment to define the property, and If, Then, Else statment with a RESULT =, then..... well my poor brainstarts swirling at this point so I thought I'd ask for some help.

SO...................HELP!!!!!!!! PLZ!!!!!!!!

 

I don't even know if I'm on the right path in my thinking, but what I'm thinking now is that if I was able to force the incrementation then if I add another beam then the tag numbers would be off. So now I'm thinks of a selection set picking the steel beams and then comparing them. Then if I start the selection set again it deletes the old one.

 

Boy, my thinking is dangerous!

 

--

Nick

Link to comment
Share on other sites

OK, lets me take this in steps. How do I write a VBScript for a Property Set Definition that will: 1) create a selection set of all the steel beams in the drawing containing PSD's attached to them?

Link to comment
Share on other sites

It appears that there are not that many AutoCAD Architecture programmers on this board. At least, I think that is the reason for the limited response.

 

 

 

Are these PSDs part of the Architecture vertical, or is it custom XDATA structure available in standard AutoCAD? The mechanism for storing that data will be important to the selection set process. I don’t know what it would be for Architecture, but entities with XDATA can be filtered via the group code 1001 (Registered Application name).

 

 

 

You mention VBScript; are you actually automating Architecture from an external script, i.e., not VBA?

Link to comment
Share on other sites

A Property Set Definition (PSD) is ..........., you know, I really don't know how to answer your question. I know enough about programing to be dangerous and I'm really dangerous. Do you think that you could contact me via email? I then could set up a session so you could actually see what I'm talking about.

Link to comment
Share on other sites

It has been a little while, but I have done some things similar with different AEC or AECB objects

Just reading real quick it sounds like you have PSD applied to styles when you need them applied to Objects......vice-versa. There are some litte tricks you can use like classifications to help, but what I think you are asking can be done with VB SCRIPT.

For the selection that cam be eaisly done in .NET

 

I would have to see some drawings to understand exactly what you are talking about.

 

 

For those of you that have never used AEC or MEP they have a little VB SCRIPT editor in stlye manager as the pic shows.

 

Capture.jpg

Link to comment
Share on other sites

. . . .

 

For those of you that have never used AEC or MEP they have a little VB SCRIPT editor in stlye manager as the pic shows.

 

 

That's interesting. I've never had access to any of the architecture based verticals so this is the first glimpse of that functionality. That lack of access, too, means that I'll have very little to offer to the situation. :unsure:

Link to comment
Share on other sites

Heres an example of AEC code it pulls the names of the contour surface styles

 

(cond (*AeccDoc*)
         ((setq *AeccDoc*
             (vlax-get
               (cond (*AeccApp*)
                  ((setq *AeccApp*
                       (vla-getinterfaceobject
                           (cond (*Acad*)
                              ((setq *Acad* (vlax-get-acad-object)))
                            )
                            (strcat "AeccXUiLand.AeccApplication." appstr)
                        )
                   )
                )
              )
              'ActiveDocument
         )
         )
       )
     )
     (vlax-for i (vlax-get *AeccDoc* 'SurfaceStyles)
       (setq lst (cons (cons (vla-get-name i) i) lst))
     )

also (setq ss (ssget "_:L" '((0 . "AECC_TIN_SURFACE")))) this will get all surface models in a dwg

 

you need to know the name of the variables some are easy to guess others a bit tricky thanks to Alanjt and others else I would be where you are now, somebody out there may be able to help you with style names etc for archi.

Link to comment
Share on other sites

Dont give up

 

the "AeccXUiLand.AeccApplication.8" refers to a version of Civ3d 2011 you have to know what it is called to get inside the architecture database maybe "AeccArchi.AeccApplication.8" ? try Theswamp.org also.

 

Check out your "sample" directory it should have a directory called say d:\autocad 2011\sample\archi API\com this will have vba etc examples of code to access the database.

 

Just do a VBAMAN and load the dvb, read the Reame.txt first to see what it does.

Link to comment
Share on other sites

Found the examples, but I don't know what I'm looking at. I just know enough to be dangerous and I'm really dangerous!

Link to comment
Share on other sites

OK, how about this. Created a routine that will start a lisp routine. With the lisp routine, I hope to be able to get the selection set that I need so as to compare all the object with on another so that like objects will have the same tag number, and if the like styles change in the slitest, it will change the tag number. Now if I achieve this, how do I get the result back into the VBScript so I can input itinto the schedule table? Any takes on this?

Link to comment
Share on other sites

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...