Parameterized IKEA SKADIS Pegboard | 参数化宜家洞洞板

Copyright Claim

Parameterized IKEA SKADIS Pegboard | 参数化宜家洞洞板

Boost
233
441
25

Print Profile(3)

All
P1S
P1P
X1
X1 Carbon
X1E
A1

0.2mm layer, 3 walls, 15% infill
0.2mm layer, 3 walls, 15% infill
Designer
39.4 h
16 plates
5.0(3)

V2.0 Demonstration (2.0版演示)
V2.0 Demonstration (2.0版演示)
Designer
15.3 h
4 plates

V3.0 Demonstration (3.0版演示)
V3.0 Demonstration (3.0版演示)
Designer
15.1 h
5 plates

Boost
233
441
25
16
259
32
Released

Description

I noticed that it seems no one has posted a parameterized model of the IKEA pegboard, so I decided to complete this task!
OpenSCAD is a great parametric modeling tool, and I spent a few days learning how to use it. After some effort, I finally achieved the parameterization of the IKEA pegboard model. Now you can customize the width, height, and thickness of the pegboard, and you can also choose to add screw holes in the four corners to fix it in certain places.
我注意到似乎没有人发布过参数化的宜家洞洞板模型,因此我决定完成这项工作!
OpenSCAD是一个不错的参数化建模工具,我花了几天时间来学习如何使用它。经过一番努力,我最终实现了宜家洞洞板模型的参数化,现在你可以自定义洞洞板的宽度、高度、厚度,还可以选择在四个角上增加螺丝孔来将其固定在某些地方。

 

I chamfered both the pegboard and the edges of the holes. You should know that creating chamfers in OpenSCAD is quite challenging. The project "Chamfers-for-OpenSCAD" on GitHub helped me, and its author is SebiTimeWaster. I borrowed one of the modules (named chamferCylinder) from it, which can generate cylinders with chamfers. By combining these cylinders with the hull() function, I obtained the desired geometry. Additionally, some chamfers were created by using the difference() function to subtract cones.
我在板子和洞的边缘都做了倒角,要知道倒角在OpenSCAD是很难实现的。GitHub上的Chamfers-for-OpenSCAD这个项目帮了我,它的作者是SebiTimeWaster。我借用了其中的一个模块,名为chamferCylinder,它可以生成带倒角的圆柱体。我通过hull()函数将这些圆柱组合,就得到了我想要的几何体。还有一些倒角是通过difference()函数减去圆锥体来实现的。

[Updated on 2024/06/06]
1. Added the parameterized model version 2.0. 

*Please use the file "ikea_pegboard_v2.0.scad" to generate the model.
2. Variables have been grouped.
3. Added "Infinite Extension Mode", which, when enabled, generates half of the holes at the edge of the pegboard so that you can join multiple pegboards together.

 

[2024/06/06更新]
1. 增加了2.0版本的参数化模型

*请改用“ikea_pegboard_v2.0.scad”这个文件来生成模型。
2. 对变量进行了分组。
3. 新增“无限扩展模式”,开启后程序会在洞洞板边缘生成一半的洞,这样你就可以将多块洞洞板拼成一个。

 

Thanks to the project "IKEA宜家洞洞板" by 幻模堂 for inspiring the 2.0 version!

感谢幻模堂的项目“IKEA宜家洞洞板”为2.0版提供了灵感!

In version 2.0, you can enable Infinite Extension Mode by setting the variable `infinite_extension_mode` to `true`. You can select the direction you want to expand in the "Infinite Extension Mode Settings" variable group. You can choose to generate only one corner piece or edge pieces and then mirror it in Bambu Studio. This way, you can quickly obtain a larger pegboard!
在2.0版本里,你可以通过将infinite_extension_mode设置为true来开启无限扩展模式,然后可以在“无限扩展模式设置”这个分组里选择想要扩展的方向。你可以选择只生成一个角或边然后在Bambu Studio里镜像它。这样就能快速获得一面更大的洞洞板!

[Updated on 2024/06/19]
1. Added the parameterized model version 3.0. 

*Please use the file "ikea_pegboard_v3.0.scad" to generate the model.

2. Added "Fewer Screw Mode", when enabled, will generate screw holes at the joints of two pegboards, thereby reducing the number of screw holes required for installation.

 

[2024/06/19更新] 

1. 增加了3.0版本的参数化模型 

*请改用“ikea_pegboard_v3.0.scad”这个文件来生成模型。 

2. 新增“更少的螺丝模式”,开启后会在两块洞洞板的接缝处生成螺丝孔,以此来减少安装时所需的螺丝孔数量。

In version 3.0, you can find the `fewer_screw_mode` variable in the Infinite Extension Mode Settings. By setting `fewer_screw_mode` to `true`, you can enable the Fewer Screw Mode. This mode will change the arrangement of holes on the pegboard and will also invalidate the `distance_to_edge` variable, meaning you will not be able to freely adjust the position of the screw holes.

After enabling the Fewer Screw Mode, several small discs will be automatically generated. You can use these discs to cover the screw holes, achieving the effect of hiding the screw holes.

在3.0版里,你可以在无限扩展模式设置里找到fewer_screw_mode这个变量,将fewer_screw_mode设置为true,就可以开启“更少的螺丝”模式。这个模式会改变洞洞板上孔的排列方式,还会将distance_to_edge这个变量无效化,你将无法自由地调整螺丝孔的位置。

“更少的螺丝”模式开启后,还会自动生成几个小圆片,你可以用这些圆片盖住螺丝孔,来达到隐藏螺丝孔的效果。

You can find some pre-generated pegboard examples in the Print Profile, but I highly recommend using the parametric model to customize the dimensions you desire. MakerWorld will provide an online tool on the project page to generate the model, or you can download the “ikea_pegboard_v3.0.scad” file from the project to your local machine and run it with OpenSCAD. Due to the complexity of the calculations in the parametric model, generating it locally may take several minutes to even a few hours each time. (The poor multithreading optimization of OpenSCAD should be blamed for this!) However, the online tool seems to have optimized multithreading, resulting in very fast generation speed!
你可以在打印配置里找到一些我已经生成好的洞洞板示例,但我更推荐你使用参数化模型来定制你想要的尺寸。MakerWorld会在项目页面提供线上工具来生成模型,或者你也可以下载项目里的“ikea_pegboard_v3.0.scad”这个文件到本地,然后用OpenSCAD来运行它。由于参数化模型的计算比较复杂,如果你在本地运行,每次生成可能需要数分钟甚至几小时。(OpenSCAD糟糕的多线程优化应该背这个锅!)但线上工具似乎对多线程做了优化,生成速度非常快!

There is a way to speed up the model generation by adjusting the `$fn` variable, which determines the fineness of the generated model. When using the online tool to generate models, it is recommended to set the value of `$fn` to 50. When running locally, you can try setting `$fn` directly to 100.

When using the online tool to generate models, the `$fn` variable will be hidden, and you will need to modify the value of `$fn` directly in the code to adjust the detail level of the generated model.
有个可以加快模型生成速度的方式就是调整$fn这个变量,这个变量决定了生成模型的精细度,使用线上工具生成模型时建议将$fn的值设置为50,在本地运行可以尝试直接将$fn拉到100。

当使用线上工具生成模型时,$fn这个变量会被隐藏,你需要直接在代码里修改$fn的值才能调整生成模型的精细度。

[Pegboard Configuration Variables]
1. `width`: The width of the pegboard (mm), it is recommended to set as a multiple of 20, with a minimum value of 40. Default value is 80.
2. `height`: The height of the pegboard (mm), it is recommended to set as a multiple of 20, with a minimum value of 40. Default value is 80.
3. `thickness`: The thickness of the pegboard (mm), it is recommended to set between 3 and 5. Default value is 5.
4. `add_corner_holes`: Whether to add corner holes. Default value is true.
5. `corner_holes_diameter`: The diameter of the corner holes (mm), it is recommended to set as 3.4 or 4.4. Default value is 4.4.
6. `distance_to_edge`: The distance from the corner holes to the edge (mm), it is recommended to set between 8 and 12. Default value is 8.
7. `add_spacers`: Whether to add spacers, used to space the pegboard from the wall surface. Default value is true.The variable `add_spacers` can only function when the variable `add_corner_holes` is set to true.
8. `spacer_diameter`: The diameter of the spacers (mm), recommended value is 6.4 to 20. Default value is 12.
9. `spacer_height`: The height of the spacers (mm), recommended value is 7 to 15. Default value is 7.

10. `infinite_extension_mode`: Infinite Extension Mode, when enabled, the program will generate half a hole at the edges of the pegboard.

11. `expand_up`: Expand upward. This takes effect only when `infinite_extension_mode` is set to `true`.

12. `expand_down`: Expand downward. This takes effect only when `infinite_extension_mode` is set to `true`.

13. `expand_left`: Expand leftward. This takes effect only when `infinite_extension_mode` is set to `true`.

14. `expand_right`: Expand rightward. This takes effect only when `infinite_extension_mode` is set to `true`.

15. `fewer_screw_mode`: Fewer Screw Mode, when enabled, will generate screw holes at the joints of two pegboards, thereby reducing the number of screw holes required for installation. The extra small discs are used to cover the screw holes.
 

[洞洞板配置变量]
1. `width`: 洞洞板宽度(mm),建议设置为20的倍数,最小值为40。默认值为80。
2. `height`: 洞洞板高度(mm),建议设置为20的倍数,最小值为40。默认值为80。
3. `thickness`: 洞洞板厚度(mm),推荐值为3到5。默认值为5。
4. `add_corner_holes`: 是否在四角添加螺丝孔。默认值为true。
5. `corner_holes_diameter`: 螺丝孔直径(mm),推荐值为3.4或4.4。默认值为4.4。
6. `distance_to_edge`: 螺丝孔到边缘的距离(mm),推荐值为8到12。默认值为8。
7. `add_spacers`: 是否添加垫片,用于使洞洞板远离墙面。默认值为true。变量add_spacers必须在变量add_corner_holes为真时才能起作用。
8. `spacer_diameter`: 垫片直径(mm),推荐值为6.4到20。默认值为12。
9. `spacer_height`: 垫片高度(mm),推荐值为7到15。默认值为7。
10. `infinite_extension_mode`: 无限扩展模式,启用后程序会在洞洞板边缘生成半个孔。

11. `expand_up`: 向上扩展。仅在infinite_extension_mode为true时生效。

12. `expand_down`: 向下扩展。仅在infinite_extension_mode为true时生效。

13. `expand_left`: 向左扩展。仅在infinite_extension_mode为true时生效。

14. `expand_right`: 向右扩展。仅在infinite_extension_mode为true时生效。

15. `fewer_screw_mode`: “更少的螺丝”模式,开启后会在两块洞洞板的接缝处生成螺丝孔,以此来减少安装时所需的螺丝孔数量。额外的小圆片用于遮盖螺丝孔。

 

I used PETG filament to 3D print several generated pegboard models, and the results were excellent! 
我用PETG耗材3D打印了几个生成好的洞洞板模型,效果非常不错!

I hope you will like this project! I would be very happy if it can be of help to you. 

希望你能喜欢这个项目!如果它能帮到你,我会很开心。

:)

Comment & Rating (25)

Please fill in your opinion
(0/5000)

Print Profile
0.2mm layer, 3 walls, 15% infill
Looks great, can’t wait to print more!
1
Reply
Boosted
实在是太赞了,等官方又发助力票我就来投给你。不知道OpenSCAD能不能实现幻模堂那版的加强筋和拼接螺丝的设计,特别是拼接螺丝,不然洞洞板多了要在墙上打的孔有点多。
The designer has replied
2
Reply
Boosted
或者可以独立设置每个螺丝孔垫片的厚度,需要拼接的那个角的垫片就薄一些或者没有垫片,然后设计一个连接件,用短一点的螺丝把洞洞板连接在连接件上。
0
Reply
很好的建议!我正在思考新的连接和固定方式,在未来可能会更新3.0版。
0
Reply
俺也一样
0
Reply
非常好的设计!不过怎么链接不同的洞洞板呢?
The designer has replied
0
Reply
将infinite_extension_mode设置为true来开启无限扩展模式,然后可以在“无限扩展模式设置”这个分组里选择想要扩展的方向。无限扩展模式会在边缘生成一半的孔,这样两块洞洞板就可以拼成一块。具体的物理连接方式得你自己选择,例如在墙壁上打好合适的孔位,把两块板子挨着放。或者在板子连接处用其他模型作者制作的连接器来连接。
0
Reply
Replying to @user_2573416404 :
好的,感谢回复,自己建了个连接器模型用螺丝紧固好了!
0
Reply
Would it be possible to have the infinite parts to be connected to each other without needing to attach each one to the wall itself?
The designer has replied
1
Reply
Great suggestion! I am considering new connection and fixation methods, and may update the model to version 3.0 in the future.
0
Reply
请问膨胀螺丝买M几的?
The designer has replied
0
Reply
可以通过“corner_holes_diameter”这个变量调整螺丝孔规格,默认是4.4mm,对应M4的沉头螺丝,多出的0.4mm是为了确保螺丝可以顺利穿过螺丝孔。 The specification of the screw holes can be adjusted through the variable “corner_holes_diameter”, which by default is set to 4.4mm, corresponding to an M4 countersunk screw. The additional 0.4mm is intended to ensure that the screw can pass smoothly through the holes.
0
Reply
Replying to @user_2573416404 :
好的 非常感谢!
0
Reply
好棒的设计,我添加洞洞板无忧啦。请问,global Circle Quality参数看名称似乎了解,但不知道怎么用?调成2会怎样?
The designer has replied
0
Reply
因为chamferCylinder这个函数调用了global Circle Quality这个变量,所以我不得不保留它,后续的代码里可能会对其进行修改。建议直接在代码里修改$fn这个变量来调整模型精细程度。
0
Reply
相当不错。 非常适合与官方的编辑器的模型修改功能配合,在各种缝隙旮旯定制非标准尺寸洞洞板。
1
Reply
Print Profile
0.2mm layer, 3 walls, 15% infill
It would be nice if you could add a lightweight version great model tho
1
Reply
太牛了,献上我的膝盖
1
Reply
Thanks for your work
1
Reply

License

This user content is licensed under a Standard Digital File License.

You shall not share, sub-license, sell, rent, host, transfer, or distribute in any way the digital or 3D printed versions of this object, nor any other derivative work of this object in its digital or physical format (including - but not limited to - remixes of this object, and hosting on other digital platforms). The objects may not be used without permission in any way whatsoever in which you charge money, or collect fees.