star-cad

Geometric operators for computer-aided design
git clone git://git.meso-star.fr/star-cad.git
Log | Files | Refs | README | LICENSE

commit 60ab2efa18c8c1e4674a7e8a05868c79bf284283
parent 27ac0550ac41d1da6893e8f5ed0e390ea44de88f
Author: Benjamin Piaud <benjamin.piaud@meso-star.com>
Date:   Mon, 15 Aug 2022 16:04:03 +0200

Add name argument in step import function

Diffstat:
Msrc/scad.h | 3++-
Msrc/scad_geometry.c | 15++++++++-------
2 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/src/scad.h b/src/scad.h @@ -305,7 +305,8 @@ scad_geometry_extrude SCAD_API res_T scad_scene_step_import (struct scad_scene* scene, - const char* filename, + const char* filename, /* name of step file */ + const char* name, /* Can be NULL */ struct scad_geometry*** out_geometry, size_t* out_geometry_n); diff --git a/src/scad_geometry.c b/src/scad_geometry.c @@ -1026,6 +1026,7 @@ res_T scad_scene_step_import (struct scad_scene* scene, const char* filename, + const char* name, struct scad_geometry*** out_geometry, size_t* out_geometry_n) { @@ -1053,18 +1054,18 @@ scad_scene_step_import *out_geometry = malloc(tagoutn/2 * sizeof(struct scad_geometry*)); for (i=0; i<tagoutn/2; ++i) { - /*struct str strname;*/ - /*str_init(NULL, &strname);*/ - /*ERR(str_set(&strname, name));*/ - /*ERR(str_append_printf(&strname,"_%lu", (unsigned long)i)); */ + struct str strname; + + str_init(scene->device->allocator, &strname); + ERR(str_set(&strname, name)); + ERR(str_append_printf(&strname,"_%lu", (unsigned long)i)); - /*ERR(scad_geometry_create(scene, str_cget(&strname), &(*out_geometry)[i]));*/ - ERR(scad_geometry_create(scene, NULL, &(*out_geometry)[i])); + ERR(scad_geometry_create(scene, str_cget(&strname), &(*out_geometry)[i])); (*out_geometry)[i]->gmsh_dimTags_n = 2; (*out_geometry)[i]->gmsh_dimTags = malloc(2 * sizeof(int)); (*out_geometry)[i]->gmsh_dimTags[0] = tagout[2*i]; (*out_geometry)[i]->gmsh_dimTags[1] = tagout[2*i+1]; - /*str_release(&strname);*/ + str_release(&strname); } *out_geometry_n = tagoutn/2;