knurl_texture
Parametric knurl texture
The first find is to define to which surface the effect is going to be applied.
For this first part let's consider starting a cilindre from the scracth, at the end of this document I'll show the parameters used on the round magsafe project.
Setup
- Parameters
Modify > Change Parameters
| Name | Obs | Value |
|---|---|---|
| diameter | Cilinder diameter | 90mm |
| height | Cilinder height | 100mm |
| wall | Outer wall tickness | 2mm |
| knurl_pitch | Controls the space between the lines, determining the texture density. Smaller value = finer look | 5mm |
| knurl_number | Total count of knerling features around the circumference. | round(diameter * PI / knurl_pitch) |
IMPORTANT: the "knurl_number" parameter Unit should be set as "No Units"
For a smaller example, it can be changed to:
| Name | Value |
|---|---|
| diameter | 25mm |
| height | 30mm |
| wall | 1.5mm |
| knurl_pitch | 20mm |
| knurl_number | round(outter_size * PI / knurl_pitch) |
- Component
Browser > Right click on Root directory > New Component
- Name: Pen holder
- Sketch
Create > Create Sketch > "Select XY plane"
- Start point: origin / plan 0,0
- Diameter: select the parameter "diameter"
- Finish Sketch
- Extrusion and initial form
Lets create the base cylinder:
Create > Extrude
- Type: Extrude
- Profiles: select the circle from step 3
- Start: Profile Plane
- Direction: One Side
- Extent Type: Distance
- Distance: select the parameter "height"
- Taper Angle: 0.0 deg
- Operation: New Body
Now create the "cup" format
Modify > Shell
- Faces / Body: select the top cylinder face
- Tangent Chain: true
- Shell Type: Sharp Shell
- Inside Thickness: select parameter "wall"
- Direction: Inside
A lil visual improvement:
Modify > Chamfer: select the both bottom borders (internal and external) and outer top border
- Distance Value: 1.00mm
- Type: Equal Distance
- Tangent Chain: true
- Corner Type: Chamfer
Hint: To inspect the internal side, click on:
- Inspect > Section Analysis
- Cut Plane: YZ
Pattern creation
Set a offset plane, to make the pattern smoother
Construct > Offset Plane > "Select the cylinder bottom plane" > -2mm
Now start creating the pattern
Solid > Create > Coil > Select the plane created on previous step.
Center point: the cylinder center
set the diameter as the parameter "diameter"
Profile: Plane (the plane created on previous step)
Type: Revolution and Height
Diameter: parameter "diameter"
Revolutions: 0.5
Height: -height+2+2
Angle: 0.0 deg
Section: Triangular (Internal)
Section Position: On Center
Section Size: 1
Operation: Cut
- Replicate the pattern around the cylinder
Solid > Create > Pattern > Circular Pattern
- Object Type: Features
- Objects: select the coil from the timeline
- Axis: Cylinder outer bottom edge (the "top" chamfered one)
- Distribution: Full
- Suppression: false
- Quantity: parameter "knurl_number"
- Compute Type: Identical
- Mirroring the pattern
Solid > Create > Mirror
- Object Type: Features
- Objects: "select both coil and circular pattern from the timeline"
- Mirror Plane: "select the XZ or YZ plane from the Origin folder"
- Compute Type: Identical
Done!
Magsafe mount
In my project, I did this way, considering that I already had a cylinder
- Parameters
| Name | Value |
|---|---|
| knurl_pitch | 15mm |
| knurl_number | round(outter_size * PI / knurl_pitch) |
IMPORTANT: the "knurl_number" parameter Unit should be set as "No Units"
- Offset horizontal plane:
Construct > Offset Plane > "Select the cylinder bottom plane" > -1mm
- Coil:
Create > Coil > "Select the plane created on step 1"
- Select the center of the cylinder as the start point
- select the end of the cylinder as the end point
Feature edit:
- Type: Revolution and Height
- Diameter: parameter "outter_size"
- Revolutions: 0.5
- Height: -20.00mm
- Angle: 0.0deg
- Section: Triangular (internal)
- Section Position: On Center
- Section Size: 1mm
- Operation: Cut
- Circular Pattern:
Create > Pattern > Circular Pattern
- Object type: Features
- Objects: "select the coil icon on the timeline"
- Axis: "select the bottom edge of the cylinder"
- Distribution: Full
- Suppression: no
- Quantity: parameter "knurl_number"
- Compute Type: Identical
- Mirror Pattern
Create > Mirror
- Object Type: Features
- Objects: "select both coil and circular pattern from the timeline"
- Mirror Plane: "select the XZ or YZ plane from the Origin folder"
- Compute Type: Identical
Done!
For smaller heights (like 10mm), it should be something like
Coil
- Type: Revolution and Pitch
- Revolutions: 0.5
- Pitch: -65.00mm
- Section size: 1 mm
Parameters:
- knurl_pitch: 5mm
Previously, at the magsafe project, it was:
Coil
- Type: Revolution and Height
- Revolutions: 0.5
- Pitch: -20.00mm
- Section Size: 1.5mm
Parameters:
- knurl_pitch: 5mm