Any way to automatically label parts in a dynamic component?
-
This is my first post on sketchucation, so go easy on me. This post is long winded, but I feel like I need to explain my situation and end goal before I ask my question.
I am a project manager/designer at a custom cabinetry shop. To make my job easier, I have started developing a library of dynamic components based on items ordered on a regular basis by some of our customers. The components need to be dynamic because although the design stays the same from job to job, the size can change completely, and they usually order multiple different sizes at once.
I have attached an image of one of the models. As you can see in the image, I apply text to the center of the front face of each part (currently using un-filled 3D text). I print out a cutting layout using these labels and then give them to my machinist for cutting. He transfers the part code onto the cut piece for tracking throughout the shop.
This works, but it is pretty cumbersome on my end. Where this label system falls apart is when we have multiple different size of the same design in production at the same time. Example using the attached item (item PBD):
8 pcs item PBD @ 19.5" wide
6 pcs item PBD @ 14" wide
12 pcs item PBD @ 22.25" wideIn this case, my machinist is writing PBD_T (top) on every top based on the cutting diagram, but there are 3 different sized tops.
My question is:
I'm sure there is a way for me to create a name attribute on the dynamic component to identify each width. Is there a way for me to apply a 2D label to the front face of that part, that displays my custom name attribute?
If I can figure this out, then the next step would be to automate some type of system to count the total number of each part, and then print out a label/sticker with that code.
-
Most likely the parts will be nested and hard to figure using the definition, so I would
- create DC and use the name to create a suitable identity and size.
2, use the onclick alert(name) to help identify the sizes/items in the model
3.create a quantity report based on name and quantity in the report writer, save to model (eventually make this file the working template)
4 have this sent to excel and use a VBA routine or formulas to tidy it up, sum like sizes
5, send model to layout, use smart labels to denote parts
6, with 2017, import the table, or a image if <2017
attached a quick example
-
Thanks for your response. I think the steps you outlined would take care of listing the overall part sizes and quantity of each. I think this would help me with the second step of creating sticker/labels to apply to the cut parts. I'm not able to open your files since I'm using sketchop 2016, but I will try to follow the process on my own.
I still would like to try to figure out a way to actually apply a label to the face of the model in sketchup (with 2D text or similar) using the custom name attribute. In order to generate the CNC program, I load a sketchup model into the CNC software, and it flattens the parts and lays them out on my sheet of material (as per attached image). As you can see, it brings the same 2D labels that were on the faces of the model, and this is what I would print and give my machinist.
My dilemma lies in the circled portions. In the example there are 2 different sizes of the same design. You can see the circled items are part PBD_F and PBD_BT_R, and they are clearly different sizes, but there is nothing differentiating them in the current part label system. This means that my machinist will label them the same, stack them in the same pile, and then it wastes time on the assembly bench when the assembler has to check every part labeled as PBB_F (for example) until he finds the size he's looking for.
Another method could be to just number the parts on the sheet diagram, and have the machinist refer to a separate numbered list (ex: part #1 = PBB_F @ 14"W). It still comes back to the same issue of having sketchup automatically apply a part number to the face of the part so that it's visible when I import into my CNC software.
I'm not new to sketchup, but I am relatively new to dynamic components, and using sketchup for manufacturing. It's entirely possible that the functionality I'm looking for simply doesn't exist, but there may be something I'm missing.
-
Hi John,
Would a dimension in line with the face (edited via window/model info / dimension) work?
example attachedPhilip
-
this is a DC text changer to reflect the first five numbers or period of lenX, a bit involved, and could be fine tuned to only copy a digit if it exists more than once. However it depends on how the machining reacts to invisible entities.
try it and let us know if its worth pursuing
-
Thank you for helping out.
I tested the "use dimensions" model, but if I convert it to a component I get the following error messages when I try to open the component attributes window:
1st popup: no entity data returned
2nd popup: error: callback function error: unable to get property 'length' of undefined or null reference @ / dcbridge.js[601]I hadn't even thought of using a dimension line since I was so focused on the label. I started a new sketchup file and created a panel with a dimension line. Turned that into a component and gave the dynamic attribute option to edit LenX with a textbox. Worked perfectly and the dimension changed with the size of the part. Problem though... The machining software ignores the dimension completely and only imported my panel... Same thing when I tried to import your model as well.
I tried the other option you suggested with the model "auto label". I understand what you mean about it being involved, however the labels do change with the size just as I was hoping for. It gets a bit weird with longer strings (ex: if I enter 24.125" as the size, it displays 24.122), but I'm sure it wouldn't be that difficult to sort out.
The problem again is with the machining software. It is putting the labels outside of the part (see attached "auto label - machining example"). This may stem from the way the machining software handles nested components. The software keeps and child components together with a parent component that has a double underscore at the start of the name (ex: __sheet).
When I make a component, I create the part first without any labels and make it a component (__Name). Then I edit the component and apply the label to the top face. This allows it to import correctly into the machining software.
While I was writing this reply I thought I should see if there was at the minimum an extension that allowed me to edit label text. I discovered an extension called "Flat Text". It is essentially the same flat model text that I'm already using, but it allows me to edit it after placing it. That means I can include a bunch of placeholder labels in my dynamic components that I can go back into and edit once I receive the desired sizes from my customer.
It will still be done manually by me, and it will still be tedious, but it should be faster than applying completely new labels each time. Also, it imports correctly into my machining software as long as the parent component has the double underscore. I will try to use this method for now (emphasis on TEMPORARY SOLUTION lol) while I continue working out a way to automatically generate the labels.
I'm going to reach out to the developer to see if there is any way I can use their extension to automatically report properties of a dynamic component.
-
@pcmoor said:
this is a DC text changer to reflect the first five numbers or period of lenX, a bit involved, and could be fine tuned to only copy a digit if it exists more than once. However it depends on how the machining reacts to invisible entities.
try it and let us know if its worth pursuingTHIS IS A WONDERFUL COMPONENT MOOR!THANK YOU SO SO MUCH! You helped me once again!
-
I use this all the time
http://sketchucation.com/forums/viewtopic.php?p=490834#p490834
Advertisement