OpenSCAD Version: 2025.02.28 System information: Linux 6.8.0-52-generic #53~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Jan 15 19:18:46 UTC 2 x86_64 Ubuntu 22.04.4 LTS 16 CPUs 60.64 GB RAM User Agent: OpenSCAD/2025.02.28 (Linux x86_64; Ubuntu 22.04.4 LTS) Compiler: GCC "11.4.0" 64bit MinGW build: No Debug build: No Boost version: 1_74 Eigen version: 3.4.0 CGAL version, kernels: 5.4, Cartesian, Extended_cartesian, Epeck OpenCSG version: OpenCSG 1.4.2 Clipper2 version: 1.5.2 Manifold version: 3.0.1 Qt version: 5.15.3 QScintilla version: 2.11.6 InputDrivers: GLib version: 2.72.4 lodepng version: 20230410 libzip version: 1.7.3 fontconfig version: 2.13.1 freetype version: 2.11.1 harfbuzz version: 2.7.4 cairo version: 1.16.0 lib3mf version: 1.8.1 Features: roof*, input-driver-dbus, lazy-union, vertex-object-renderers-indexing, textmetrics*, import-function*, predictible-output Application Path: ~/sync/src/openscad-master Documents Path: ~/.local/share User Documents Path: ~/Documents Resource Path: ~/sync/src/openscad-master User Library Path: ~/.local/share/OpenSCAD/libraries User Config Path: ~/.config/OpenSCAD Backup Path: ~/.local/share/OpenSCAD/backups OPENSCADPATH: OpenSCAD library path: ~/.local/share/OpenSCAD/libraries ~/sync/src/openscad-master/libraries OPENSCAD_FONT_PATH: OpenSCAD font path: /usr/share/fonts /usr/local/share/fonts ~/.local/share/fonts ~/.fonts /usr/share/texmf/fonts/opentype/public/lm /usr/share/texmf/fonts/opentype/public/lm-math /usr/share/texmf/fonts/opentype/public/tex-gyre /usr/share/texmf/fonts/opentype/public/tex-gyre-math /usr/X11/lib/X11/fonts /System/Library/Fonts /Library/Fonts ~/Library/Fonts /usr/share/fonts/X11 /usr/share/fonts/cMap /usr/share/fonts/cmap /usr/share/fonts/fonts-go /usr/share/fonts/opentype /usr/share/fonts/truetype /usr/share/fonts/type1 /usr/share/fonts/woff /usr/share/fonts/X11/100dpi /usr/share/fonts/X11/Type1 /usr/share/fonts/X11/encodings /usr/share/fonts/X11/misc /usr/share/fonts/X11/util /usr/share/fonts/cmap/adobe-cns1 /usr/share/fonts/cmap/adobe-gb1 /usr/share/fonts/cmap/adobe-japan1 /usr/share/fonts/cmap/adobe-japan2 /usr/share/fonts/cmap/adobe-korea1 /usr/share/fonts/opentype/artemisia /usr/share/fonts/opentype/asana-math /usr/share/fonts/opentype/cabin /usr/share/fonts/opentype/cantarell /usr/share/fonts/opentype/complutum /usr/share/fonts/opentype/didot /usr/share/fonts/opentype/ebgaramond /usr/share/fonts/opentype/font-awesome /usr/share/fonts/opentype/freefont /usr/share/fonts/opentype/linux-libertine /usr/share/fonts/opentype/lobster /usr/share/fonts/opentype/lobstertwo /usr/share/fonts/opentype/malayalam /usr/share/fonts/opentype/mathjax /usr/share/fonts/opentype/neohellenic /usr/share/fonts/opentype/noto /usr/share/fonts/opentype/olga /usr/share/fonts/opentype/porson /usr/share/fonts/opentype/solomos /usr/share/fonts/opentype/stix /usr/share/fonts/opentype/stix-word /usr/share/fonts/opentype/urw-base35 /usr/share/fonts/truetype/Gargi /usr/share/fonts/truetype/Gubbi /usr/share/fonts/truetype/Nakula /usr/share/fonts/truetype/Navilu /usr/share/fonts/truetype/Sahadeva /usr/share/fonts/truetype/Sarai /usr/share/fonts/truetype/abyssinica /usr/share/fonts/truetype/adf /usr/share/fonts/truetype/ancient-scripts /usr/share/fonts/truetype/andika /usr/share/fonts/truetype/baskerville /usr/share/fonts/truetype/charis /usr/share/fonts/truetype/comfortaa /usr/share/fonts/truetype/croscore /usr/share/fonts/truetype/crosextra /usr/share/fonts/truetype/dejavu /usr/share/fonts/truetype/denemo /usr/share/fonts/truetype/droid /usr/share/fonts/truetype/ebgaramond /usr/share/fonts/truetype/font-awesome /usr/share/fonts/truetype/fonts-beng-extra /usr/share/fonts/truetype/fonts-deva-extra /usr/share/fonts/truetype/fonts-gujr-extra /usr/share/fonts/truetype/fonts-guru-extra /usr/share/fonts/truetype/fonts-kalapi /usr/share/fonts/truetype/fonts-orya-extra /usr/share/fonts/truetype/fonts-telu-extra /usr/share/fonts/truetype/fonts-yrsa-rasa /usr/share/fonts/truetype/freefont /usr/share/fonts/truetype/gentium /usr/share/fonts/truetype/gentium-basic /usr/share/fonts/truetype/gentiumplus /usr/share/fonts/truetype/gentiumplus-compact /usr/share/fonts/truetype/glyphicons /usr/share/fonts/truetype/junicode /usr/share/fonts/truetype/kacst /usr/share/fonts/truetype/kacst-one /usr/share/fonts/truetype/lao /usr/share/fonts/truetype/lato /usr/share/fonts/truetype/liberation /usr/share/fonts/truetype/liberation2 /usr/share/fonts/truetype/libreoffice /usr/share/fonts/truetype/lohit-assamese /usr/share/fonts/truetype/lohit-bengali /usr/share/fonts/truetype/lohit-devanagari /usr/share/fonts/truetype/lohit-gujarati /usr/share/fonts/truetype/lohit-kannada /usr/share/fonts/truetype/lohit-malayalam /usr/share/fonts/truetype/lohit-oriya /usr/share/fonts/truetype/lohit-punjabi /usr/share/fonts/truetype/lohit-tamil /usr/share/fonts/truetype/lohit-tamil-classical /usr/share/fonts/truetype/lohit-telugu /usr/share/fonts/truetype/lyx /usr/share/fonts/truetype/malayalam /usr/share/fonts/truetype/msttcorefonts /usr/share/fonts/truetype/noto /usr/share/fonts/truetype/open-sans /usr/share/fonts/truetype/padauk /usr/share/fonts/truetype/pagul /usr/share/fonts/truetype/roboto /usr/share/fonts/truetype/samyak /usr/share/fonts/truetype/samyak-fonts /usr/share/fonts/truetype/sinhala /usr/share/fonts/truetype/teluguvijayam /usr/share/fonts/truetype/tibetan-machine /usr/share/fonts/truetype/tlwg /usr/share/fonts/truetype/ttf-khmeros-core /usr/share/fonts/truetype/ubuntu /usr/share/fonts/type1/gsfonts /usr/share/fonts/type1/texlive-fonts-recommended /usr/share/fonts/type1/urw-base35 /usr/share/fonts/woff/ebgaramond /usr/share/fonts/X11/encodings/large /usr/share/fonts/truetype/roboto/unhinted /usr/share/fonts/truetype/roboto/unhinted/RobotoTTF GLEW version: 2.2.0 OpenGL Version: 4.6 (Compatibility Profile) Mesa 23.2.1-1ubuntu3.1~22.04.2 GL Renderer: GFX1103_R1 (gfx1103_r1, LLVM 15.0.7, DRM 3.57, 6.8.0-52-generic) GL Vendor: AMD RGBA(8880), depth(0), stencil(0) GL_ARB_framebuffer_object: yes GL_EXT_framebuffer_object: yes GL_EXT_packed_depth_stencil: yes Qt graphics widget: QOpenGLWidget QSurfaceFormat: RGBA(8880), depth(0), stencil(0) GL Extensions: GL_AMD_conservative_depth GL_AMD_depth_clamp_separate GL_AMD_draw_buffers_blend GL_AMD_multi_draw_indirect GL_AMD_performance_monitor GL_AMD_pinned_memory GL_AMD_query_buffer_object GL_AMD_seamless_cubemap_per_texture GL_AMD_shader_stencil_export GL_AMD_shader_trinary_minmax GL_AMD_texture_texture4 GL_AMD_vertex_shader_layer GL_AMD_vertex_shader_viewport_index GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_APPLE_packed_pixels GL_ARB_ES2_compatibility GL_ARB_ES3_1_compatibility GL_ARB_ES3_2_compatibility GL_ARB_ES3_compatibility GL_ARB_arrays_of_arrays GL_ARB_base_instance GL_ARB_bindless_texture GL_ARB_blend_func_extended GL_ARB_buffer_storage GL_ARB_clear_buffer_object GL_ARB_clear_texture GL_ARB_clip_control GL_ARB_color_buffer_float GL_ARB_compatibility GL_ARB_compressed_texture_pixel_storage GL_ARB_compute_shader GL_ARB_compute_variable_group_size GL_ARB_conditional_render_inverted GL_ARB_conservative_depth GL_ARB_copy_buffer GL_ARB_copy_image GL_ARB_cull_distance GL_ARB_debug_output GL_ARB_depth_buffer_float GL_ARB_depth_clamp GL_ARB_depth_texture GL_ARB_derivative_control GL_ARB_direct_state_access GL_ARB_draw_buffers GL_ARB_draw_buffers_blend GL_ARB_draw_elements_base_vertex GL_ARB_draw_indirect GL_ARB_draw_instanced GL_ARB_enhanced_layouts GL_ARB_explicit_attrib_location GL_ARB_explicit_uniform_location GL_ARB_fragment_coord_conventions GL_ARB_fragment_layer_viewport GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_framebuffer_no_attachments GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB GL_ARB_get_program_binary GL_ARB_get_texture_sub_image GL_ARB_gl_spirv GL_ARB_gpu_shader5 GL_ARB_gpu_shader_fp64 GL_ARB_gpu_shader_int64 GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_indirect_parameters GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_internalformat_query2 GL_ARB_invalidate_subdata GL_ARB_map_buffer_alignment GL_ARB_map_buffer_range GL_ARB_multi_bind GL_ARB_multi_draw_indirect GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_occlusion_query2 GL_ARB_parallel_shader_compile GL_ARB_pipeline_statistics_query GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_polygon_offset_clamp GL_ARB_post_depth_coverage GL_ARB_program_interface_query GL_ARB_provoking_vertex GL_ARB_query_buffer_object GL_ARB_robust_buffer_access_behavior GL_ARB_robustness GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_seamless_cube_map GL_ARB_seamless_cubemap_per_texture GL_ARB_separate_shader_objects GL_ARB_shader_atomic_counter_ops GL_ARB_shader_atomic_counters GL_ARB_shader_ballot GL_ARB_shader_bit_encoding GL_ARB_shader_clock GL_ARB_shader_draw_parameters GL_ARB_shader_group_vote GL_ARB_shader_image_load_store GL_ARB_shader_image_size GL_ARB_shader_objects GL_ARB_shader_precision GL_ARB_shader_stencil_export GL_ARB_shader_storage_buffer_object GL_ARB_shader_subroutine GL_ARB_shader_texture_image_samples GL_ARB_shader_texture_lod GL_ARB_shader_viewport_layer_array GL_ARB_shading_language_100 GL_ARB_shading_language_420pack GL_ARB_shading_language_include GL_ARB_shading_language_packing GL_ARB_shadow GL_ARB_sparse_buffer GL_ARB_sparse_texture GL_ARB_sparse_texture2 GL_ARB_sparse_texture_clamp GL_ARB_spirv_extensions GL_ARB_stencil_texturing GL_ARB_sync GL_ARB_tessellation_shader GL_ARB_texture_barrier GL_ARB_texture_border_clamp GL_ARB_texture_buffer_object GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_buffer_range GL_ARB_texture_compression GL_ARB_texture_compression_bptc GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map GL_ARB_texture_cube_map_array GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_filter_anisotropic GL_ARB_texture_float GL_ARB_texture_gather GL_ARB_texture_mirror_clamp_to_edge GL_ARB_texture_mirrored_repeat GL_ARB_texture_multisample GL_ARB_texture_non_power_of_two GL_ARB_texture_query_levels GL_ARB_texture_query_lod GL_ARB_texture_rectangle GL_ARB_texture_rg GL_ARB_texture_rgb10_a2ui GL_ARB_texture_stencil8 GL_ARB_texture_storage GL_ARB_texture_storage_multisample GL_ARB_texture_swizzle GL_ARB_texture_view GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_transform_feedback_instanced GL_ARB_transform_feedback_overflow_query GL_ARB_transpose_matrix GL_ARB_uniform_buffer_object GL_ARB_vertex_array_bgra GL_ARB_vertex_array_object GL_ARB_vertex_attrib_64bit GL_ARB_vertex_attrib_binding GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_vertex_type_10f_11f_11f_rev GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_ARB_window_pos GL_ATI_blend_equation_separate GL_ATI_draw_buffers GL_ATI_fragment_shader GL_ATI_meminfo GL_ATI_separate_stencil GL_ATI_texture_compression_3dc GL_ATI_texture_env_combine3 GL_ATI_texture_float GL_ATI_texture_mirror_once GL_EXT_EGL_image_storage GL_EXT_EGL_sync GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_compiled_vertex_array GL_EXT_copy_texture GL_EXT_debug_label GL_EXT_demote_to_helper_invocation GL_EXT_depth_bounds_test GL_EXT_direct_state_access GL_EXT_draw_buffers2 GL_EXT_draw_instanced GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_framebuffer_object GL_EXT_framebuffer_sRGB GL_EXT_gpu_program_parameters GL_EXT_gpu_shader4 GL_EXT_memory_object GL_EXT_memory_object_fd GL_EXT_multi_draw_arrays GL_EXT_packed_depth_stencil GL_EXT_packed_float GL_EXT_packed_pixels GL_EXT_pixel_buffer_object GL_EXT_point_parameters GL_EXT_polygon_offset_clamp GL_EXT_provoking_vertex GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_semaphore GL_EXT_semaphore_fd GL_EXT_separate_specular_color GL_EXT_shader_image_load_formatted GL_EXT_shader_image_load_store GL_EXT_shader_integer_mix GL_EXT_shadow_funcs GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_subtexture GL_EXT_texture GL_EXT_texture3D GL_EXT_texture_array GL_EXT_texture_buffer_object GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_latc GL_EXT_texture_compression_rgtc GL_EXT_texture_compression_s3tc GL_EXT_texture_cube_map GL_EXT_texture_edge_clamp GL_EXT_texture_env_add GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic GL_EXT_texture_integer GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp GL_EXT_texture_object GL_EXT_texture_rectangle GL_EXT_texture_sRGB GL_EXT_texture_sRGB_R8 GL_EXT_texture_sRGB_RG8 GL_EXT_texture_sRGB_decode GL_EXT_texture_shadow_lod GL_EXT_texture_shared_exponent GL_EXT_texture_snorm GL_EXT_texture_swizzle GL_EXT_timer_query GL_EXT_transform_feedback GL_EXT_vertex_array GL_EXT_vertex_array_bgra GL_EXT_vertex_attrib_64bit GL_EXT_window_rectangles GL_IBM_multimode_draw_arrays GL_IBM_rasterpos_clip GL_IBM_texture_mirrored_repeat GL_INGR_blend_func_separate GL_INTEL_blackhole_render GL_KHR_blend_equation_advanced GL_KHR_context_flush_control GL_KHR_debug GL_KHR_no_error GL_KHR_parallel_shader_compile GL_KHR_robust_buffer_access_behavior GL_KHR_robustness GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_sliced_3d GL_MESA_framebuffer_flip_y GL_MESA_pack_invert GL_MESA_shader_integer_functions GL_MESA_texture_signed_rgba GL_MESA_window_pos GL_NVX_gpu_memory_info GL_NV_ES1_1_compatibility GL_NV_alpha_to_coverage_dither_control GL_NV_blend_square GL_NV_compute_shader_derivatives GL_NV_conditional_render GL_NV_copy_depth_to_color GL_NV_copy_image GL_NV_depth_clamp GL_NV_fog_distance GL_NV_half_float GL_NV_light_max_exponent GL_NV_packed_depth_stencil GL_NV_primitive_restart GL_NV_shader_atomic_int64 GL_NV_texgen_reflection GL_NV_texture_barrier GL_NV_texture_env_combine4 GL_NV_texture_rectangle GL_NV_vdpau_interop GL_OES_EGL_image GL_OES_read_format GL_S3_s3tc GL_SGIS_generate_mipmap GL_SGIS_texture_border_clamp GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod GL_SUN_multi_draw_arrays