I am finding myself generating skewed geometry by having a starting CSYS and generating Front, Right and Top planes off of the CSYS for making sketches that are robust because of good perpendicular references.
To do this takes a good chunk of time. Is there a quick way of adding a CSYS with it's 3 connecting planes? (Preferably with just 1 keystroke)
I have a feeling that the suggested answer might be in developing a map key. Before I look at this I am wondering whether there might be perhaps another command that might already do this.
I'm assuming you are not talking about the default coord sys and the default planes since you mentioned "skewed".
If you are needing this geometry all the time, I would make a "skewed start part" and create the features as I want and save it so that when I create a new part, I would use the "skewed start part" as the template. You could make a mapkey to do use that start part without having to browse to a folder to find it.
As far as making the "skewed" coord sys and 3 planes associated, there is no single or quick method but a mapkey could be developed pretty quickly seems like.
Hi Steven,
I'll clarify the application which I would be using this.
In the models that I work with there are numerous tilts. I have to build sketches within the model that don't follow the standard orthographic views. I have found that with each skewed sketch it is helpful to have it carry a definite inclination of which the CSYS with it's supporting planes provides.
I do actually have a start part that allows me to skew the orientation right out of the chute, but I many times need to have numerous CSYS and planes within a model. Attached with this comes the price of extra time associated with each of these combinations.
As you suggest my best bet might be in creating a map key. Just wanted to see if there was another option.
This sounds like a good place for a UDF, User Defined Feature.
Once you get the process down as to how to make this reliably, it can be programmed into a custom UDF.
Hi Tom,
I've never done an UDF before, but I have used a helpful UDF that someone from the forum provided.
Would anyone know how to explain the difference between a UDF and a map key?
Would they be equally simple to use once created?
It does appear that one of these methods is what I should look at to get what I'm looking for. I've only done 1 map key, but that seemed to be fairly simple to make.
I am no expert on UDF's... barely even a novice! But yes, I do know that the UDF is more powerful than mapkey.
I wouldn't even know where to begin learning UDF... but someone here does 🙂
I agree with Tom. A UDF would probably be the right way to go. I don't make UDFs. We've got a guy...so I just ask and, like magic, I get a UDF.
I usually default to mapkeys simply because I have complete control over it and I'm the only one who would ever want or need it.
UDF's sound like a lot of fun. I might have to look into this over the weekend to see how to perform this magical feat.
We unfortunately don't have anyone who is the master of UDF. That means that it has to be me.
Thanks guys, at least I can start looking in the right direction. Even if it takes some time, ultimately it is a step in the right direction.
A UDF is a user defined feature. They are easy to create.
@dschenken wrote:
A UDF is a user defined feature. They are easy to create.
...but they are hard to master 😉
The quote "Less is more" applies, as it's all about the correct references when you are trying to create a nice UDF.
In this case, the reference is a single CSYS. Pretty easy to master.
I haven't got to the point of trying this out but I did watch a number of Youtubes showing creation of a UDF.
The most concise video was done by Leo Green. He had a couple examples a little more elaborate than my own.
I do think that this shouldn't be a big problem; it would just be a matter of doing it and ironing out the possible initial bugs.
I'm hoping to clear out some time in between catching up with work.
I have made this kind of a mapkey for Creo 2.0 before.
Example "code":
mapkey txy @MAPKEY_NAMEMake XY Plane through the selected CSYS;\ @MAPKEY_LABELMake XY Plane (txy);\ ~ Command `ProCmdDatumPlane` ;\ ~ FocusIn `Odui_Dlg_00` `t1.constrs_table`;\ ~ Select `Odui_Dlg_00` `t1.constrs_table` 2 `0` `column_2`;\ ~ Select `Odui_Dlg_00` `constr_type1_OPTMENU1` 1 `Through`;\ ~ FocusOut `Odui_Dlg_00` `t1.constrs_table`;\ ~ Select `Odui_Dlg_00` `t1.constr_through_csys` 1 `XY`;\ ~ Activate `Odui_Dlg_00` `stdbtn_1`;
How to "install" it:
(copy and paste above code into your config.pro)
How to use it:
1) select CSYS
2) type "txy"
3) voila! - plane through the XY axes is created
A long while back I did create a UDF that generates the X, Y and Z planes, but it is a bit cumbersome as it also adds a new csys.
In relooking for a better way of doing this I found my old thread.
I just tried the suggestion by pausob and it does work well in generating this for the XY plane.
By any chance could this be created to generate the 3 planes at once?
I can't say that I understand the coding but it does work well for making 1 plane.
Can you elaborate on what is cumbersome about the UDF? The UDF should be just a couple of clicks. Give the attached a try.
You could do it with a mapkey too but the problem with the mapkey approach is that when you create the first datum the original CSYS is no longer selected. The mapkey would need to pause so you could reselect the CSYS again. You could pause the mapkey and type in the CSYS name into the find tool and then get all three that way but using the UDF seems like a simpler approach to me.
Chris,
One of the biggest parts of this being cumbersome apparently was in the way I created the UDF. (Which is the only one I ever built). My UDF adds a unneeded plane whereas your's does not.
The only thing that to me prevents this from being streamlined is an extra screen that doesn't seem necessary.
I am wondering whether the above screen could be bypassed as I have only been using the above checked option. Perhaps this is unavoidable but it would be great to have just one entry to make this streamlined.
I see the extra screen with the 2 UDF's that I already have so perhaps this has to be there.
This is better than what I have, thank you.
I suggest you do both. You have the UDF, now make a mapkey which will start the UDF feature, select the gph file, press OK to the dialog shown and then stop.
At this point, the system waits for the user to select the reference:
Today I tried the UDF with mapkey and it worked well.
The only thing that I would like to change if possible is for the name of this group to reference the CSYS that generated it. Below is an example of 2 sets of planes based off existing part CSYS's.
The initial placement at least names each axis by it's direction. The following placements however just build numerically. (See Dtm3, Dtm4, Dtm5)
By any chance could the structure of each plane placement be like the following example for every uniquely named CSYS?
Group bolt-boss-center
X_bolt_boss_center
Y_bolt_boss_center
Z_bolt_boss_center
That is toolkit level of customization. Toolkit requires knowing how to program code.
The reason the dtms have default names is because the second set of datums places with the UDF can not have the same name as the first set. So Creo continues with the default names.
Chris: Too bad that this bumps up the complexity level by a lot.
It would be nice if with each XYZ placement that it referred name wise to the parent CSYS.
This doesn't remove the helpfulness of just being able to place the planes so quickly.