X-9's best features


dshall
 Share

Recommended Posts

1 hour ago, bernie said:

Joe, in x9 do we now have a macro to look up the path of the .plan file instead of me still having to hardcode it?

Bernie,

The Plan File path (Full File Name) is an attribute referenced_full_filename of each Layout Box.  That's the only way to get that data.  It can be saved in a Global variable by inserting a user macro in the Layout Box Label.

Link to comment
Share on other sites

OIP - will have to look at.

file path - was either drive letter or filename. (one of them was missing. Joe knows. ..)

I read several external text files of data into CA in chunks of text between a start and stop designator that I define.

it is using Joes macro's he customised for me.

still have to hardcode the file path,name for now...would be good one day to not have to hardcode the file path, name for CA to connect up internally and

provide the external public macro name to us.

 

was wondering what extra macro variables, attributes CA have opened up internally from x8?

if any?

Bernie

 

 

 

Link to comment
Share on other sites

cheers Joe, will look at.

I want it available from the .plan file. (not from .layout file)

is that now available in x9 yet?

 

as all my macros are in the .plan file.

I treat the .layout file as dumb - it just acts as a place to dump the pages to print.

 

if there are macro's I should be using in the .layout file to speed up my productivity, please show & tell how you do it!.

Bernie

 

 

Link to comment
Share on other sites

1 hour ago, bernie said:

file path - was either drive letter or filename. (one of them was missing. Joe knows. ..)

I read several external text files of data into CA in chunks of text between a start and stop designator that I define.

it is using Joes macro's he customised for me.

still have to hardcode the file path,name for now...would be good one day to not have to hardcode the file path, name for CA to connect up internally and

provide the external public macro name to us.

 

 

I'm really curious what exactly you're talking about.  How would Ruby know the file path based on the file path of your plan?  I assume you are trying to set the file path for a different file right?  You would have to set that independently no matter what Ruby capabilities Chief gave us wouldn't you? 

 

As it is right now we can DISPLAY the entire file path using the %file% macro like I said.  Accessing the file name would essentially have to be done like Joe said using a layout box but that could actually be done directly in the plan file too.  Not sure what the point would be though.  Can you possibly clarify what you're trying to do with that file path and how it is connected to the actual plan file path? 

 

If I understand correctly what you're trying to do, I typically just set that with a global variable when I first start using the plan or macro.  I just copy and paste the file path right from windows explorer into a macro that looks something like this...

 

$FilePath = '

 

 

PASTE FILE PATH HERE

 

 

'.to_s.strip.gsub("\\", "/") + "/"

 

Only takes a few seconds.. 

 

NOTE:  Ruby doesn't like the backslashes used in Windows Explorer so they need to be replaced with forward slashes using a standard run of the mill global substitution (.gsub).  The trick though is to make sure and use single quotes only.  I only bring this up because it took me forever to figure out a way to auto-magically substitute backslashes and thought I might save someone else the time and heartache. 

Link to comment
Share on other sites

Bernie,

 

I will set up a macro for you to add to a Layout Box Label that will provide the full qualified path to your Plan as a $Global variable accessible from macros in the Plan or Layout.  The attributes that have been added in X9 are:

  • floor_number  (all objects)
  • layer_set  (all objects)
  • function  (rooms)
  • countertop_overhang_left, right, front, back  (cabinets)

There may be a couple more but I haven't found them yet.

 

The Object Information Panel fields (Code, Comment, Description & Manufacturer) have been added to several Objects but not all.  They correspond to the same fields that are in the Components dbx but are now persistent and can be edited in the Object dbx.  They can no longer be edited in the Component dbx.  This allows further customization of Labels by inserting key data in any of those fields that is not being used in a Schedule.

 

I'm hoping there will be additional attributes in the final X9 release but I really don't know if that will be true or not.

Link to comment
Share on other sites

$dirPathK = "l:/bkup1_128gb/001_kw1/0462_kw_dwgs2/"

(hardcoded because I dont know how to get CA to report back a full path name from the directory the .plan file was opened from)

 

then I read in 4 text files in chunks to different variables.

these variables are displayed as text in the .plan file.

(I use a modified wordwrap.rb file from Joe, placed in the scripts directory.)

 

so for example,

for 1 of my 4 text files, (I split them into 4 to make it easy for internal project management - my system)

 I call the following function into a global var.:

 

$dirFile1 = $dirFileDesign1

mycStart = "[notesDesign1]"

mycEnd = "[end]"

 

result = get_section( $dirFile1, mycStart, mycEnd, 1)

 

this will scan thru an external text file looking for the notesDesign1 text.

as soon as it sees this, it will start reading the characters in the text file until it finds the [end] string.

 

all of the text is imported at load time.

or, to force a manual import, call up the text macro management window,

 

so what I am doing, is reducing the need to type text into CA.

I can use any external text editor to modify 4 external text files.

so, using the SAM method, I can replicate these 4 text files, modify them externally, open my .plan file (note how I didnt say .layout file) and BOOM, 90% of all my text is already inside CA.

 

of course I could automate my .layout file as well - I just havnt found a need yet as my .layout files are 'dumb' currently.

(this years task is to automate the .layout file somewhat.)

 

the main benefits:

(1) it ensures intregrity of text.

if your roof pitch is 25degrees, you are saying it is 25 degrees on 10 different pages (uses same variable)

instead of having 1 page say 20 degrees by mistake, another saying 30, and another saying 25 etc etc. reduced error.

 

if you change the roof pitch, you change the external text file notes, reread the external text file back into CA 2keyboard keys, and hey presto, it has automatically replicated across all your text notes across all pages.

 

you can be sitting there with 5 .plan files open, actively working on all 5 text notes with an external text editor.

time benefit cutting and pasting external text notes instead of cutting and pasting inside CA.

quite cool really.  I should patent the idea!. Does any other cad software allow this? surely. not sure. you tell me.

 

(2) it saves around 0-5 hrs PER JOB.

 

need to look at your super label switch demo, and learn some new macro tricks you guys have discovered over the last 0-6 mnths I dont know about yet....(I've been in production mode making hay while the sun shines over here downunder for the last many few years, we have a building boom on...)

 

Bernie

 

 

 

 

 

 

 

 

 

 

Link to comment
Share on other sites

5 minutes ago, Joe_Carrick said:

The attributes that have been added in X9 are:

  • floor_number  (all objects)
  • layer_set  (all objects)
  • function  (rooms)
  • countertop_overhang_left, right, front, back  (cabinets)

There may be a couple more but I haven't found them yet.

 

 

You left out some of my personal faves...

  • layer_line_color

  • layer_line_style

  • layer_line_weight

  • layer_text_style

and we also have type_name to go with the new room type capabilities. 

Link to comment
Share on other sites

10 hours ago, johnny said:

id love to be included in the upcoming conference....however, I will only get the invite if my correct email is used.

 

Thanks Scott!

You are in......  we will work on the email situation and fix it........  it will be good to get your feedback

 

 

Link to comment
Share on other sites

9 hours ago, Alaskan_Son said:

we also have type_name to go with the new room type capabilities. 

We had that in X8 and probably back as far as X4 or X5.

 

9 hours ago, Alaskan_Son said:

You left out some of my personal faves...

  • layer_line_color

  • layer_line_style

  • layer_line_weight

  • layer_text_style

I'm not sure how useful those will be. 

Link to comment
Share on other sites

Here's a macro that can be inserted into the Label of a Layout Box:

 

referenced ? obj=referenced : obj=owner

$Full_Plan_Filename = obj.referenced_full_filename

$Plan_Filename = obj.referenced_filename

$Plan_File_Path = $Full_Plan_Filename.gsub($Plan_Filename+".plan","").untaint

result = ""

 

It simply uses the file information of where the Layout Box came from to set up three $Global Variables:

  • $Full_Plan_Filename (Includes drive letter and extension)
  • $Plan_Filename (Filename without extension)
  • $Plan_File_Path (FilePath ending with "/")

that can be used by any macro in the Layout or in the Plan. 

 

  • Upvote 1
Link to comment
Share on other sites

Joe,

 

I'm anxious to try this out as I am currently placing a lot of macro detail the Layout box label to keep track of the source data. 

 

I also watch a few of Gerry's videos on using predefined verbiage for plan Text boxes, as well as the new OIP macro capabilities. 

 

Hopefully after Scott Hall's GTM on Friday I will have a better understanding of how to incorporate macros effectively and efficiently into my plans. 

 

 

Link to comment
Share on other sites

3 hours ago, Joe_Carrick said:
12 hours ago, Alaskan_Son said:

we also have type_name to go with the new room type capabilities. 

 

We had that in X8 and probably back as far as X4 or X5.

 

Maybe I should have been more clear...  We have the entirely new function attribute for rooms.  IMO though that attribute essentially does what the type_name attribute used to do.  That is it carries through the name of the room's function which is chosen from a preset list.  The type_name may not be in and of itself a new attribute but it has new possibilities in that it can now be used to return a custom type_name that is set by the user.  I guess my point is that its a new functionality to look at if a person is asking about new attributes. 

 

3 hours ago, Joe_Carrick said:
13 hours ago, Alaskan_Son said:

You left out some of my personal faves...

  • layer_line_color

  • layer_line_style

  • layer_line_weight

  • layer_text_style

I'm not sure how useful those will be. 

 

Well they're still new attributes and they're certainly useful to me.

Link to comment
Share on other sites

Hi Scott,

Please include me in the Macro conference.  kronoskiros@gmail.com   I've been using Joe's Area Analysis since the beginning. For a reasonable fee he customized it to include all requirements for Seattle. I love it, but I'd like to know what's changed in X9?

 

Thank you, 

Barry

Link to comment
Share on other sites

3 hours ago, Joe_Carrick said:

Here's a macro that can be inserted into the Label of a Layout Box:

 

referenced ? obj=referenced : obj=owner

$Full_Plan_Filename = obj.referenced_full_filename

$Plan_Filename = obj.referenced_filename

$Plan_File_Path = $Full_Plan_Filename.gsub($Plan_Filename+".plan","").untaint

result = ""

 

It simply uses the file information of where the Layout Box came from to set up three $Global Variables:

  • $Full_Plan_Filename (Includes drive letter and extension)
  • $Plan_Filename (Filename without extension)
  • $Plan_File_Path (FilePath ending with "/")

that can be used by any macro in the Layout or in the Plan. 

 

 

That's very kind of you to provide this Joe but I would caution anybody thinking about using this method to set file paths to be very careful...

 

The file path is going to based on whichever layout box last activated the global variables and this could conceivably and very easily set the wrong file info.  It may work fine if you're very careful and consistent with your workflow but I would personally encourage people to stick with setting those file paths manually.  It's much safer and far more stable.  No, it's not automatic but then again you also know it's not going to change on you.  There's a fine line between automation and over-automation. 

 

Not saying Joe's macro isn't a valid method, just that it should be used with eyes wide open.  I've seen a lot of problems caused by people trying to take automation a little too far...or at least too far for some users. 

Link to comment
Share on other sites

40 minutes ago, zowie123 said:

Hi Scott,

Please include me in the Macro conference.  kronoskiros@gmail.com   I've been using Joe's Area Analysis since the beginning. For a reasonable fee he customized it to include all requirements for Seattle. I love it, but I'd like to know what's changed in X9?

 

Thank you, 

Barry

 

No problem,  but I need your email

Link to comment
Share on other sites

Michael,

 

This is a perfectly safe way since there can only be one Layout File open.  If the macro is inserted into only one Layout Box Label and that is from the main Plan File it will update the Global Variables when the Layout Box is displayed.

 

I've been using this for several years without incident.  It's far more reliable than manually entering (or even using copy/paste) simply because the Layout and the Plan are connected.  Of course if you open another Plan that's not related it could be a problem - but only if you have macros in that Plan which use those Global variables. 

 

My workflow is to

  1. Open the Layout to the sheet with the Global Area macros
  2. Open the Main Project Plan (this will be the only Plan using those Globals)
  3. Open any auxiliary Plans (Details, As Builts, etc - non of which have any need for those Globals)
  4. When finished working on this project I close Chief and start a new session.

That's just good practice.

Link to comment
Share on other sites

Ya, I totally get it Joe.  I'm sure you can manage it just fine.  It's statements like this one though...

 

16 hours ago, bernie said:

you can be sitting there with 5 .plan files open, actively working on all 5 text notes with an external text editor.

 

I personally have multiple plans open all the time as well and I want to see accurate info. in each one of those plans.  If a person is using those same global variables in more than one of those plans (which may not be the case for you but I know it can be the case for some), only one of the plans can actually be returning the proper values. 

 

I just know of people who have unfortunately actually given up on using macros either in part or entirely...due to improperly managed global variables just like these ones  I happen to know for a fact that it's actually a much bigger problem than people even let on.  I've had more than one party contact me privately about this particular issue.  Honestly, until Chief provides us more of the capabilities we've been requesting, there is no perfect solution. 

 

On a side note though, you can use a hack I mentioned in another thread to actually utilize a layout box right in the plan which would stabilize that whole scenario.  It just requires linking that layout box to the correct plan.  You could even set multiple file paths for various purposes by using multiple layout boxes. The layout boxes placed into plans will remember the file path too. 

 

 

 

 

Link to comment
Share on other sites

13 minutes ago, Alaskan_Son said:

It's statements like this one though...

 

16 hours ago, bernie said:

you can be sitting there with 5 .plan files open, actively working on all 5 text notes with an external text editor.

 

If a user can't recognize and follow good practices --------

  You can lead a horse to water but you can't make it drink.

OTOH, It's possible that all 5 of those .plan files are actually in the same Folder as the Layout and then it's not a problem.  This is the situation with Bernie as I understand it.

 

Link to comment
Share on other sites

7 minutes ago, Joe_Carrick said:

OTOH, It's possible that all 5 of those .plan files are actually in the same Folder as the Layout and then it's not a problem.  This is the situation with Bernie as I understand it.

 

 

Maybe, but it sounds to me like he is working on 5 different text files to go with 5 different plans which lends me to believe each of the plans should be referencing it's own unique file (i.e. part of the file path  needs to be unique to each plan).

Link to comment
Share on other sites

1 minute ago, Alaskan_Son said:

Hey Joe (or anyone else in the know), since we're on this subject...

 

Do you happen to know what this built in global variable is used for...

 

$FILENAME = -

 

??

It seems to always have a value of "-". 

AFAIK, all of the "built-in global variables" are standard with "Ruby", not directly related to "Chief".  There are a lot of them that don't change, have no valid purpose in Chief & we can't modify them. 

Link to comment
Share on other sites

5 minutes ago, Joe_Carrick said:

AFAIK, all of the "built-in global variables" are standard with "Ruby", not directly related to "Chief".  There are a lot of them that don't change, have no valid purpose in Chief & we can't modify them. 

 

Thanks.  That's kinda what I figured.  I was just curious though if you knew of something else I may have missed. 

Link to comment
Share on other sites

2 minutes ago, Alaskan_Son said:

 

Maybe, but it sounds to me like he is working on 5 different text files to go with 5 different plans which lends me to believe each of the plans should be referencing it's own unique file (i.e. part of the file path  needs to be unique to each plan).

He is simply be using a different file name but the same path.  I'm not sure why he is using 5 plan files - it would be simple enough to put the macro for each text file in a Text Box in different CAD Detail Windows, all in the same Plan File.

 

IAE, we are way off subject in this Thread.

Link to comment
Share on other sites

1 hour ago, dshall said:

 

No problem,  but I need your email

 

1 hour ago, zowie123 said:

Hi Scott,

Please include me in the Macro conference.  kronoskiros@gmail.com   I've been using Joe's Area Analysis since the beginning. For a reasonable fee he customized it to include all requirements for Seattle. I love it, but I'd like to know what's changed in X9?

 

Thank you, 

Barry

Scott,  Doesn't this do it for you? :rolleyes:

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share