Programs, information processing devices, methods, and systems

JP7898789B1Active Publication Date: 2026-08-03FABRIAI CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
FABRIAI CO LTD
Filing Date
2026-01-27
Publication Date
2026-08-03

Smart Images

  • Figure 0007898789000001_ABST
    Figure 0007898789000001_ABST
Patent Text Reader

Abstract

The goal is to easily generate a suitable jig model for the target object, even for users without specialized knowledge. [Solution] The processor receives 3D data showing the structure of the object and extracts shape-related features from the data. Based on the extracted features, it estimates the position for fixing the object and determines the shape and placement of the fixing device. Based on the determined shape and placement, it generates and outputs a jig model that can be fabricated with a 3D printer. This makes it possible to quickly create a jig that can stably hold the object while reflecting its shape characteristics.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to programs, information processing apparatuses, methods, and systems.

Background Art

[0002] In a manufacturing site or a development process, the design of a jig for fixing an object is an essential step. Conventionally, the design of a jig has required specialized mechanical design skills, and designers have manually determined the shape, dimensions, holding points, etc. using CAD (Computer Aided Design) or the like.

[0003] Patent Document 1 discloses a technique for generating jig data by inverting and processing three-dimensional design data of a product and outputting it to a 3D printer.

[0004] Further, Patent Document 2 discloses a technique in which when a designer designates a single point on the three-dimensional data of a workpiece, a plurality of positioning blocks and clamps are automatically arranged according to a predetermined rule, and a jig model is output.

Prior Art Documents

Patent Documents

[0005]

Patent Document 1

Patent Document 2

Summary of the Invention

Problems to be Solved by the Invention

[0006] The technique described in Patent Document 1 can ensure shape conformity for creating a support surface from the inverted data of the product shape, but it does not autonomously select an optimal holding position of "which part should be supported and fixed" based on the weight balance and shape characteristics of the product. Also, it was insufficient in deriving the placement location and structure of fixtures (such as clamps) while avoiding interference with the surroundings.

[0007] The technology described in Patent Document 2 performs part placement starting from the specification of fixing points by a human, and therefore could not actively determine the fixing position from the shape characteristics of the object itself. Furthermore, it did not take into account the generation of a jig model based on 3D printing, and there was room for improvement in the consistent automation from design to manufacturing. Thus, with conventional technology, it is difficult to autonomously derive the optimal fixing position from the shape characteristics of the object and to fully automate the generation of a model that takes into account the constraints of the manufacturing process (3D printing), and the final judgment of the validity of the jig and fine shape adjustment still had to rely on the experience and trial and error of skilled designers.

[0008] The purpose of this disclosure is to solve the above-mentioned problems and to enable even users without specialized knowledge to easily generate a jig model suitable for the object. [Means for solving the problem]

[0009] To solve the above problems, a program for operating a computer comprising a processor and memory is provided, the program causing the processor to perform the following steps: receiving 3D data indicating the structure of an object; extracting features relating to the shape of the object based on the 3D data; estimating a position for fixing the object based on the features relating to the shape of the object; determining the shape of a fixing device and the placement location of the fixing device for fixing the object based on the features relating to the shape of the object and the estimated position for fixing the object; generating a jig model for causing a 3D printer to produce a jig based on the determined shape and placement location of the fixing device; and outputting the jig model. [Effects of the Invention]

[0010] According to this disclosure, even users without specialized knowledge can easily generate a jig model suitable for the object. [Brief explanation of the drawing]

[0011] [Figure 1] This is a block diagram showing an example of the overall configuration of the information processing system according to this embodiment. [Figure 2] Figure 1 is a block diagram showing an example of the hardware configuration of a terminal device. [Figure 3] This is a block diagram showing the functional parts implemented by the control unit. [Figure 4] Figure 1 is a block diagram showing an example of a server configuration. [Figure 5] This is a block diagram showing the functional parts implemented by the control unit. [Figure 6] This figure shows an example of the structure of a prompt generated by the service processing unit. [Figure 7] This figure shows an example of the data structure of the object feature table stored in the server's memory. [Figure 8] This figure shows an example of the data structure of a fixed-condition table stored in the server's memory. [Figure 9] This figure shows an example of the data structure of the generative model management table stored in the server's memory. [Figure 10] This sequence diagram shows an example of information exchange between a terminal device and a server when the jig design process according to this embodiment is executed. [Figure 11] This is an example of the overall UI screen showing the target object and the generated jig model. [Figure 12] This is an example screen showing the detailed settings panel and the jig model with pocket shape. [Modes for carrying out the invention]

[0012] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. In all the drawings for describing the embodiments, common components are denoted by the same reference numerals, and repeated descriptions are omitted. Note that the following embodiments do not unduly limit the content of the present disclosure described in the claims. Also, not all of the components shown in the embodiments are essential components of the present disclosure. Further, each drawing is a schematic diagram and is not necessarily drawn precisely.

[0013] Also, in the following description, a "processor" refers to one or more processors. A processor may be expressed, for example, as processing circuitry. At least one processor is typically a microprocessor such as a CPU (Central Processing Unit), but may also be other types of processors such as a GPU (Graphics Processing Unit). At least one processor may be single-core or multi-core. Also, at least one processor may be a general-purpose processor or a special-purpose processor.

[0014] Also, at least one processor may be a processor in a broad sense such as a hardware circuit (e.g., FPGA (Field-Programmable Gate Array), ASIC (Application Specific Integrated Circuit)) that performs part or all of the processing.

[0015] Also, in the following description, expressions such as "xxx table" may be used to describe information from which an output is obtained for an input. This information may be data of any structure or a learning model such as a neural network that generates an output for an input. Therefore, "xxx table" can be referred to as "xxx information".

[0016] Also, in the following description, the configuration of each table is an example, and one table may be divided into two or more tables, or all or part of two or more tables may be one table.

[0017] The program may be pre-installed in the information processing device shown below, or, for example, may be on a recording medium (e.g., non-transitory) readable by the information processing device, and this program may be installed in the information processing device. Also, the program may be transmitted from a program distribution server to the information processing device and installed. Further, in the following description, two or more programs may be realized as one program, or one program may be realized as two or more programs.

[0018] Also, in the following description, identification information for various objects is used, but the identification information may be information indicating a predetermined object, and the specific data is not limited to the embodiments. The identification information may be an identification number or an identifier including letters or symbols.

[0019] <Summary> The jig design system 1 according to this embodiment easily generates a jig model for a 3D printer through analysis of shape features and estimation of fixing positions based on the three-dimensional data of the object uploaded from the terminal device and the conditions related to the jig. Specifically, the server 20 included in this system receives an input of three-dimensional data indicating the structure of the object from the terminal device 10 operated by the user, and also receives an input of conditions related to the jig (e.g., usage, material, required strength, etc.). When the user instructs generation, the server 20 extracts geometric shape features (e.g., normal line, curvature, important edges, etc.) from the input three-dimensional data and estimates a fixing position for stably holding the object. Further, the server 20 determines the shape and arrangement location of the fixture using primitives such as cylinders and rectangular parallelepipeds based on these features and the estimation result, and generates and presents a jig model suitable for modeling with a 3D printer. Here, the "object" refers to, for example, a mechanical part, a mold, or a workpiece in an assembly process, etc., which requires fixing by a jig.

[0020] <Configuration of the entire system> Figure 1 is a block diagram showing an example of the overall configuration of the information processing system 1 according to this embodiment. The information processing system 1 is a system for providing a service that automatically generates a jig model to be used for 3D printing using a predetermined algorithm or generation AI, based on 3D data showing the structure of the object to be fixed by the jig, and design conditions related to the jig. Note that the generation of the jig model in this disclosure does not necessarily require the use of generation AI, and can also be achieved by predetermined calculation algorithms (for example, rule-based processing or numerical calculation, etc.) alone.

[0021] System 1, shown in Figure 1, includes, for example, a terminal device 10 and a server 20. System 1 may also include, as an additional configuration, a generation AI system 30 that provides the use of generation AI, and may be configured to cooperate with it. The terminal device 10, server 20, and generation AI system 30 are connected via, for example, a network 80 for communication. System 1 may also be configured to operate securely within a closed network (local network) such as a factory, and may include a standalone configuration that does not require connection to an external network.

[0022] Figure 1 shows an example where System 1 includes one terminal device 10, but in reality, it may include multiple terminal devices 10 for use by an unspecified number of designers or field personnel. Furthermore, Server 20 does not need to be a single physical device; it may be implemented as a collection of multiple devices (e.g., analysis server, model generation server, database server, etc.) in a cloud computing environment where multiple server devices work together. The method of distributing the multiple functions required to implement Server 20 among multiple devices can be appropriately determined according to the processing capacity of each device and / or the specifications required for Server 20.

[0023] The terminal device 10 is, for example, an information processing device operated by a user such as a designer. The terminal device 10 can be implemented as, for example, a smartphone, tablet, PC, or design workstation. In this embodiment, the terminal device 10 is assumed to be a design terminal that handles 3D data of an object. The terminal device 10 accepts input operations for 3D data of an object (machine parts, molds, etc.) (STEP (Standard for the Exchange of Product model data), STL (Standard Triangulated Language) format, etc.) via a web browser or dedicated application, and transmits (uploads) the data to the server 20. It also functions as an interface that displays a preview of the jig model provided by the server 20 and accepts user operations (fine-tuning parameters, automatic generation instructions, specification of output format, etc.) and transmits them to the server 20.

[0024] Server 20 is, for example, an information processing device that performs various processes of the jig design system 1, and is implemented by a computer connected to the network 80. Server 20 acquires 3D data and conditions related to the jig (purpose, material, strength, etc.) transmitted from the terminal device 10, and performs geometric analysis, feature extraction, and fixed position estimation of the object based on these. Also, if the generation AI system 30 is used, Server 20 constructs prompts for inquiries to the generation AI system 30 based on the analysis results, etc. Server 20 performs the jig model generation process (modeling) based on a predetermined calculation algorithm (e.g., rule-based processing, numerical calculation, or machine learning model, etc.), or, if necessary, the inference results from the generation AI system 30, and presents the generated jig model to the terminal device 10.

[0025] The generative AI system 30 is an optional configuration available within this system and provides the use of generative AI. This disclosure describes, as an example, the case in which the generative AI system 30 provides the use of a large language model (LLM) or a multimodal model, which is one type of generative AI. A large language model is a natural language model designed to perform multiple tasks of natural language processing. A large language model is an example of a trained model, a model trained using a large number of parameters and high-level computational resources. A large language model is a computer program or algorithm designed to perform tasks of natural language processing. For example, in natural language processing, processes such as morphological analysis, syntactic analysis, information extraction, and text generation are performed, enabling a computer to analyze human language and perform predetermined processing. A large language model generates output based on the text, image, etc., of a prompt (instruction) that is input.

[0026] Examples of large-scale language models include the GPT® series developed by OpenAI, Inc., Gemini® developed by Google Inc., the Llama series developed by Meta Inc., and the Claude series developed by Anthropic Inc. Note that other learning models are also acceptable, not just large-scale language models. In this embodiment, the generative AI system 30 is used via an API provided by the server 20. Note that the generative AI system 30 is not limited to an external service; it may also be operated by the provider of the server 20 itself.

[0027] A prompt is primarily an inquiry statement input to the generating AI. Inquiry statements may include, for example, text, strings, images, 3D data (coordinate groups or mesh information), numerical data, etc. In this embodiment, when the mode using the generating AI is selected, the server 20 dynamically generates prompts by combining the conditions related to the jig received from the user (contact area, support direction, rigidity, etc.), the shape characteristics of the analyzed object, and instructions for jig design. The user inputs prompts to the generating AI via the server 20, thereby instructing the generating AI to perform information processing such as selecting fixing points, optimizing the jig shape, or suggesting the direction of fabrication.

[0028] In this system, in configurations utilizing a generation AI, prompts are constructed on the server 20 based on user input information via the terminal device 10. For example, prompts are formed by including analysis results such as important edges, normals, curvature, and adjacency relationships of the object, along with design intent and constraints. This allows the generation AI to derive multifaceted design proposals that take into account the structural characteristics of the object. Prompts may also be input by uploading document files such as CAD files, images, or design specifications.

[0029] The prompt may include information to specify the output format. Examples of such information include function definition information in a function call, a JSON schema, and other structured data format specifications. This information allows the generating AI to obtain the elements necessary for jig generation (such as fixture type, placement coordinates, dimension parameters, and sweep height) in a predetermined structured format. For example, function definition information may include the function name, parameter names, parameter types, and parameter descriptions. Based on this output format specification information, the generating AI generates output results in the specified format.

[0030] A prompt includes an instruction. A prompt may also include reference data. Here, an instruction is data that indicates the information processing to be performed by the generating AI (for example, a command such as "Based on the extracted shape features, determine the optimal placement location and shape parameters of the fixture, taking into account the ease of fabrication with a 3D printer"). Reference data is data that the generating AI refers to when performing information processing (for example, a feature point table of the object, material properties, or primitive data of existing jig parts). The instruction and reference data may be included in the prompt in any form. The instruction and reference data do not necessarily have to be input to the generating AI as a single prompt; for example, a method of refining the design proposal through a stepwise thought process (Chain of Thought) may be used.

[0031] In this context, "object" refers to things that require holding, fixing, or positioning by a jig, such as machine parts (engine parts, housings, etc.), molds, workpieces for assembly, or objects to be inspected. Furthermore, constraint information (conditions related to the jig) refers to things like name, purpose, installation location, material, required rigidity, allowable contact surface, and recommended support direction.

[0032] <Terminal device configuration> Figure 2 is a block diagram showing an example of the hardware configuration of the terminal device 10 shown in Figure 1. As shown in Figure 2, the terminal device 10 comprises a control unit 101, a storage unit 102, a communication unit 103, an input unit 104, and an output unit 105. Note that the terminal device 10 may also include components not essential to the invention of this embodiment, such as a camera 106, a position sensor 107, an acceleration sensor 108, and an audio processing unit (not shown). Each block included in the terminal device 10 is electrically connected, for example, by a bus.

[0033] The control unit 101 performs various processes by executing various programs stored in the memory unit 102. The control unit 101 is, for example, a processor such as a CPU. A processor is hardware for executing the instruction set described in a program. A processor consists of an arithmetic unit, registers, peripheral circuits, etc. By operating according to the program, the control unit 101 performs the functions of an operation reception unit 1011, a transmission / reception unit 1012, a presentation control unit 1013, and a shooting control unit 1014, as shown in Figure 3.

[0034] The storage unit 102 includes a main memory and an auxiliary memory. The storage unit 102 stores various programs and various information. For example, the storage unit 102 stores an application program 120. The application program 120 includes instructions for inputting conditions for jig design, uploading 3D data of the object, previewing the generated jig model, and instructing the output of design data.

[0035] The communication unit 103 performs modulation and demodulation processing for the terminal device 10 to communicate with an external device (for example, the server 20). The communication unit 103 performs transmission processing on the signal generated by the control unit 101 (such as the jig conditions or 3D data of the object) and sends it to the server 20. The communication unit 103 performs reception processing on the signal received from the server 20 (such as the generated jig model data) and outputs it to the control unit 101.

[0036] The input unit 104 receives instructions or information input from the user. The input unit 104 is implemented, for example, by a touch-sensitive device that inputs instructions, etc., by touching the operating surface. If the terminal device 10 is a PC, the input unit 104 may be implemented by a reader, keyboard, mouse, etc. The input unit 104 converts conditions such as the purpose, material, strength of the jig, or selection operations of 3D data of the object, input by the user, into electrical signals and outputs them to the control unit 101. The input unit 104 may also include a receiving port that receives electrical signals input from an external input device, for example. The input unit 104 may also include a microphone that receives audio input.

[0037] The output unit 105 presents information to the user. The output unit 105 is implemented, for example, by a display. The display shows various information in accordance with the control unit 101. The display is implemented, for example, by an LCD (Liquid Crystal Display) or an organic EL (Electro-Luminescence) display. In accordance with the control unit 101, the display shows an input screen for jig conditions, a preview screen for the generated jig model, an editing screen, and a button for outputting STL data. The output unit 105 may also include a speaker for outputting sound.

[0038] Camera 106 is an imaging device that captures images using visible light. In this embodiment, camera 106 may be used to capture still images or videos of the appearance of an object that is the subject of jig design. The captured image data is used as material to be uploaded to server 20 as auxiliary data for object identification and shape analysis.

[0039] The position sensor 107 is a sensor that detects the position of the terminal device 10, and is, for example, a GPS module. The position sensor 107 may be used to detect the current location where the design is being carried out or within the factory and to record it as part of the management information.

[0040] The acceleration sensor 108 is a sensor that detects the acceleration applied to the terminal device 10. The acceleration sensor 108 is used to detect the orientation (portrait, landscape, etc.) of the terminal device 10 when it is being photographed by the camera 106, and may also be used for correction in the analysis processing of the acquired images.

[0041] Figure 3 is a block diagram showing the functional units implemented by the control unit 101. The control unit 101 comprises an operation reception unit 1011, a transmission / reception unit 1012, a presentation control unit 1013, and a shooting control unit 1014 as functional units. Specifically, the control unit 101 implements each functional unit by reading the application program 120 stored in the storage unit 102 and executing commands.

[0042] The operation reception unit 1011 processes instructions or information input from the input unit 104. Specifically, it accepts input of conditions such as the purpose and strength of the jig, selection of 3D data of the object to be uploaded, instructions to press the "Generate Jig Model" button, parameter editing operations after generation, and instructions to press the "Output STL Data" button. The transmission / reception unit 1012 processes to send the jig conditions and 3D data of the object to the server 20 and to receive the jig model data generated by the server 20. The presentation control unit 1013 controls the output unit 105 to present a setting screen for jig design, a 3D viewer to play back the generated jig model, an editing area for automatically determined shape parameters, and a data output interface. The shooting control unit 1014 controls the operation of the camera 106 to photograph the object.

[0043] <Server Configuration> Figure 4 is a block diagram showing an example configuration of the server 20 shown in Figure 1. As shown in Figure 4, the server 20 comprises a control unit 201, a storage unit 202, a communication unit 203, and an input / output IF 204. The control unit 201 performs various processes by executing various programs stored in the storage unit 202. The control unit 201 is, for example, a processor such as a CPU.

[0044] The storage unit 202 includes a main memory and an auxiliary memory. The storage unit 202 stores various programs and various information. The storage unit 202 stores various databases. As various databases, the storage unit 202 stores, for example, an object feature table 2021, a fixed condition table 2022, a generated model management table 2023, and an application program 2024 for executing the jig design service according to this embodiment.

[0045] The object feature table 2021 is a database for managing the geometric feature information of objects to be fixed by the jig. This table is used by the service processing unit 2014, described later, when it analyzes feature point coordinates, normal vectors, curvature, flatness, etc., extracted from the object's 3D data to identify candidate areas suitable for holding and supporting by the jig.

[0046] The Fixed Conditions Table 2022 is a database for managing design conditions and constraints (constraints) related to fixtures entered by the user. This table holds information such as the object's purpose, installation location, material, or strength (required rigidity, etc.), or the allowable contact surface or recommended support direction. The Service Processing Unit 2014 uses these conditions to incorporate them into evaluation logic and prompts (when using generating AI) when estimating the fixed position or optimizing the shape of the fixture.

[0047] The Generated Model Management Table 2023 is a database for managing information about the designed and generated fixture models. This table manages the path of the generated fixture model (STL data, etc.), the applied shape parameters (diameter, height, angle, etc.), and the generation date and time. It is also used as reference data when users preview the model on terminal device 10 and make fine adjustments to some parameters.

[0048] Application Program 2024 is application software for executing and managing this jig design automation service. Application Program 2024 includes commands for performing geometric analysis of 3D data, extraction of shape features, estimation of fixed positions, determination of fixture shapes, integration with generation AI, and generation of models for 3D printers.

[0049] The communication unit 203 performs processing such as modulation and demodulation processing for the server 20 to communicate with external devices (for example, terminal device 10, generation AI system 30).

[0050] Figure 5 is a block diagram showing the functional units realized by the control unit 201. The control unit 201 comprises a receiving control unit 2011, a transmitting control unit 2012, a presentation control unit 2013, and a service processing unit 2014 as functional units. Specifically, the control unit 201 realizes each functional unit by reading a program (including an application program 2024) stored in the storage unit 202 and executing the instructions contained in the program. The presentation control unit 2013 generates data for various screens (settings screen, preview screen, design result confirmation screen, etc.) to be presented to the terminal device 10.

[0051] The service processing unit 2014 executes a series of processes related to the automatic generation of a jig model based on a request received by the receiving control unit 2011. This module is configured as a component that includes the functions of shape analysis and feature extraction, estimation of the fixing position, determination of the fixing shape, and jig model generation (rendering). Specifically, the service processing unit 2014 calculates an appropriate fixing position from the shape features and fixing conditions extracted from the 3D data, calculates and determines the shape of the jig by combining primitives such as cylinders, cones, or rectangular prisms using evaluation indicators based on geometric analysis, and then processes the output of a final file in STL format or the like.

[0052] The service processing unit 2014 generates a predetermined instruction statement for generating a jig configuration proposal and design optimization proposal in a large-scale language model, along with prompts containing characteristic information and fixed conditions for the object. The service processing unit 2014 also inputs the generated prompts into the large-scale language model to obtain evaluation indicators or recommended values ​​from the large-scale language model that serve as the basis for fixed positions and shape parameters (Boolean clearance, sweep height, etc.). Specifically, the service processing unit 2014 sends prompts to the generation AI system 30, and the design parameters obtained as inference results are reflected in the jig model generation process. The generated prompts may also be sent to the terminal device 10 and presented to the user, who can review the presented prompts and input additional instructions (additional prompts) to instruct redesign.

[0053] The predetermined instruction text for generating a jig configuration is text that indicates instructions for determining the holding stability of the jig and the ease of fabrication with a 3D printer (instructions for generating the arrangement and shape of each element constituting the jig in a large-scale language model). The predetermined instruction text is pre-stored in, for example, the memory unit 202. The predetermined instruction text may be defined in the form of a request to an expert, such as, "You are an excellent jig design engineer. Based on the shape characteristics and fixing conditions of the following object, please propose a fixing position and fixing device shape that allows for stable holding and minimizes support material when 3D printing." However, the determination of the fixing position and shape is not limited to the generating AI, but may also be performed by evaluation logic.

[0054] The service processing unit 2014 obtains a predetermined instruction from the storage unit 202 and configures a prompt that includes geometric analysis data (normal vectors, curvature, etc.) extracted from the 3D data of the object and the conditions of the fixed condition table 2022. The prompt configuration can be set arbitrarily. For example, the prompt may be configured by dynamically changing the content of the instruction and the priority of the reference data (e.g., prioritizing ease of molding) according to the "fully automatic mode (efficiency priority)" or "semi-automatic mode (material priority)" selected by the user.

[0055] Figure 6 shows an example of the structure of a prompt generated by the service processing unit 2014. As shown in Figure 6, prompt P is text data and includes text data for each part exemplified by instruction P1, data P2 (constraint information), data P3 (structure information), and output format P4. Note that the order in which instructions P1 to output format P4 are written is not particularly limited. Prompt P does not have to contain output format P4, and may contain strings other than instructions P1 to output format P4.

[0056] (Instruction P1) Instruction P1 includes a predetermined instruction statement that instructs the role of the large-scale language model when proposing a jig configuration (holding position, shape and arrangement of fixtures, etc.) or outputting design parameters as adjustment suggestions. Instruction P1 includes a statement that specifies the role of the large-scale language model in generating the design proposal, such as "You are an excellent jig design engineer." The service processing unit 2014 generates prompt P by combining the following data P2 to output format P4 with instruction P1.

[0057] (Data P2) Data P2 contains constraint information about the fixture obtained from the fixed condition table 2022. The constraint information includes, for example, the conditions under which the fixture model will be generated (such as the fixture's intended use, installation location, material, required rigidity, allowable contact surface, and recommended support direction). The service processing unit 2014 combines data P2 with instruction P1.

[0058] (Data P3) Data P3 contains text that specifies the structural information (geometric analysis results) of the object to be read by the large-scale language model. For example, Data P3 includes shape features extracted from the object's 3D data (feature point coordinates, normal vectors, curvature, flatness, important edges, interference regions, etc.). Data P3 may also contain identification information that can identify the object and file paths on the object feature table 2021. The service processing unit 2014 combines the text containing this shape feature information with instruction P1 as Data P3.

[0059] (Output format P4) Output format P4 includes information about the output format of the jig configuration proposal and the structure of the generated result. In this embodiment, the contents of output format P4 may correspond to the fixed position to be adopted, the type of fixture (cylinder, cone, cuboid, etc.), and specific shape parameters. The service processing unit 2014 generates prompts containing information about the output format of the jig components, which differ depending on the mode (fully automatic, semi-automatic, etc.) and molding constraints specified by the user. For example, the service processing unit 2014 combines an instruction such as "Please output the estimated fixed position coordinates, fixture dimensions, Boolean clearance, and sweep height parameters in JSON format" with instruction P1 as output format P4, so that it can be easily analyzed in the subsequent jig model generation process.

[0060] <Data structure> Figures 7 to 9 show an example of the data structure of the database stored by server 20. Note that Figures 7 to 9 are just examples and do not exclude data that is not shown. Also, even data listed in the same table may be stored in separate memory areas in storage unit 202.

[0061] The databases shown in Figures 7-9 refer to relational databases, which are used to manage data sets called tables, which are structurally defined by rows and columns, and to associate them with each other. In databases, tables are called tables, the columns of tables are called columns, and the rows of tables are called records. In relational databases, relationships can be established and linked between tables.

[0062] Typically, each table has a primary key column to uniquely identify records, but setting a primary key column is not mandatory. The control unit 201 of the server 20 can instruct the processor to add, delete, or update records in specific tables stored in the storage unit 202, according to various programs.

[0063] Figure 7 shows an example of the data structure of the object feature table 2021 stored in the storage unit 202 of the server 20. As shown in Figure 7, each record in the object feature table 2021 is stored in association with, for example, the items "object ID", "feature point coordinates", "normal vector", "curvature", and "flatness". Each item in the object feature table 2021 is mainly stored based on the results of geometric analysis performed on the 3D data of the uploaded object by the service processing unit 2014 of the server 20.

[0064] The item "Object ID" is identification information (ID) used to uniquely identify a specific part or workpiece that is the target of the jig design. The item "Feature Point Coordinates" is information about the coordinates of representative points or important edges that constitute the shape of the object. The item "Normal Vector" is an item that stores the direction of the normal vector on each face of the object and is used as a basis for determining the direction of support by the jig. The item "Curvature" is information about the degree of curvature of the surface of the object and is used as a basis for determining the shape of the support surface (shape of the support seat, etc.). The item "Flatness" is information about the flatness of the surface of the object and is used to estimate a stable fixing position.

[0065] Figure 8 shows an example of the data structure of the fixed condition table 2022 stored in the storage unit 202 of the server 20. As shown in Figure 8, each record in the fixed condition table 2022 is stored in association with, for example, the item "Condition ID", the item "Object ID", the item "Required Strength (Rigidity)", the item "Allowable Contact Surface", and the item "Recommended Support Direction".

[0066] The item "Condition ID" is an identifier (ID) used to uniquely identify each set of design conditions. The item "Object ID" is information used to identify which object the condition is associated with, and stores identifiers that are common to or correspond to the item "Object ID" shown in Figure 7. The item "Required Strength (Rigidity)" is information about the strength index required for the jig. The item "Allowable Contact Surface" is information about the area or limit of the area on the object that the jig may contact. The item "Recommended Support Direction" stores a specific support direction specified by the user, or the orientation of support based on the application (for transport, processing, etc.). The service processing unit 2014 refers to this fixing condition table 2022 when generating the jig model to determine the optimal shape and arrangement of the fixings.

[0067] Figure 9 shows an example of the data structure of the generated model management table 2023 stored in the storage unit 202 of the server 20. As shown in Figure 9, each record in the generated model management table 2023 is stored in association with, for example, the items "Model ID", "Object ID", "Jig Shape Data Path", "Parameter Set", and "Generation Date and Time".

[0068] The "Model ID" field is an identifier (ID) used to uniquely identify individual fixture models generated by the system. The "Object ID" field indicates which object the fixture was generated based on and is linked to the object feature table 2021 in Figure 7. The "Fixture Shape Data Path" field stores the location (path or URL) on the memory area where the generated fixture's STL data, etc., is actually stored. The "Parameter Set" field stores the values ​​of the specific shape parameters (diameter, height, angle, clearance, sweep height, etc.) used when generating the fixture. The "Generation Date and Time" field is the date and time when the fixture model generation process was completed. The service processing unit 2014 can update the record in this table and regenerate the fixture model when a user modifies parameters via the terminal device 10.

[0069] <Operation> Figure 10 is a sequence diagram showing an example of information exchange between the terminal device 10 and the server 20 when the jig design process according to this embodiment is executed. This section will explain a series of operations based on the basic configuration defined in claim 1, with any configurations described in each claim being appropriately combined. First, triggered by an operation of the terminal device 10 by the user, a screen display request for jig design is sent to the server 20, and the display control unit 2013 of the server 20 displays the initial design settings screen on the terminal device 10.

[0070] In step S11, the receiving control unit 2011 of the server 20 receives 3D data indicating the structure of the object from the terminal device 10. At this time, the transmitting / receiving unit 1012 can also receive constraints related to the jig, including at least one of the object's purpose, installation location, material, or strength, as an optional configuration. The user selects the 3D data of the object (machine part, mold, etc.) and inputs the necessary constraints via the input unit 104 of the terminal device 10, and then performs the upload.

[0071] In step S12, the service processing unit 2014 of the server 20 extracts features related to the shape of the object based on the received 3D data. Specifically, it extracts geometric data such as the normal direction of the surface, curvature, edge information, area, and adjacency relationships to identify candidate regions suitable for holding with a jig, such as important edges, surfaces, protrusions, and interference regions. Specifically, the service processing unit 2014 calculates the curvature by calculating the amount of change in the normal vector at each vertex of the polygon mesh that constitutes the 3D data, and performs a calculation to extract areas where the curvature is greater than or equal to a predetermined threshold as feature regions (edges or steps) suitable for holding. Note that in this extraction process, the accuracy of the analysis may be improved by using prompts to instruct an external generation AI. Furthermore, the analysis can be performed using only a predetermined calculation algorithm.

[0072] In step S13, the service processing unit 2014 estimates the position for fixing the object based on the shape features extracted in step S12. In this process, as an optional configuration, multiple candidate positions for holding the object are extracted based on the shape features, and the optimal fixing position is calculated by applying evaluation logic such as gravity direction and contact stability. Specifically, the service processing unit 2014 performs a calculation to identify the region among the extracted candidate regions that is closest in distance from the vertical line passing through the center of gravity of the object and whose normal vector is in the opposite direction to the gravity direction (supportable direction), using an evaluation score calculation formula (for example, weighted addition of distance and angle). In this estimation step as well, candidate design proposals or reference information may be obtained from the generated AI using prompts that include analysis data.

[0073] In step S14, the service processing unit 2014 determines the shape of the fastener for fixing the object and the placement location of the fastener based on the shape characteristics and the estimated fixing position. Specifically, the service processing unit 2014 selects a shape from the primitive shape library pre-stored in the memory unit 202 that has a base surface that most closely approximates the surface shape (flat or curved) of the estimated fixing position, and performs calculations to calculate the section modulus or wall thickness of the shape based on the constraints (required strength). Here, as an arbitrary configuration, the shape of the fastener is determined as a combination of primitive shapes such as a cylinder, a frustocone, or a rectangular parallelepiped, and the received constraints (material, strength, etc.) are reflected in the dimensions and thickness of the shape. Specifically, in order to satisfy the required stiffness input as a constraint, the service processing unit 2014 calculates and determines the diameter and wall thickness of the primitive shape by referring to the Young's modulus corresponding to the material of the fastener and calculating a section modulus such that the stress generated when supporting the object is less than or equal to the allowable value. Furthermore, from among multiple candidate locations, the actual placement location is uniquely determined based on the constraints of 3D printing and the conditions for avoiding interference with the target object.

[0074] In step S15, the service processing unit 2014 generates a jig model for the 3D printer to create a jig based on the determined shape and placement of the fixture. Specifically, the service processing unit 2014 places the fixture model with its placement determined and the 3D model of the object in the same coordinate system, and forms a recess that receives the object by subtracting the boundary representation of the object from the boundary representation (B-reps) of the fixture model, or by performing a set operation using voxel representation. In this case, as an arbitrary configuration, a model having a recess (pocket structure) that receives the object, as shown in Figure 12, can be generated by subtracting a shape obtained by inverting a part of the shape of the object (Boolean operation). Furthermore, the molding conditions can be optimized by selectively applying either a first mode that prioritizes reducing the time or man-hours required to generate the jig model, or a second mode that prioritizes suppressing material consumption during 3D printing. The first mode may be presented to the user as, for example, "fully automatic mode," and the second mode may be presented to the user as, for example, "semi-automatic mode" or "material priority mode."

[0075] In step S16, the server 20 outputs the final jig model. Prior to this output step, as an optional configuration, a preview of the jig model can be displayed on the terminal device 10, and the model can be updated by accepting modifications to shape parameters such as Boolean clearance (margin) and sweep height (extrusion amount) via the UI screen shown in Figure 11, etc. Furthermore, at the time of output, it is also possible to automatically generate and output a report describing the rationale for the design parameters and the design intent along with the jig model. Through this series of processes, a highly automated jig design process is completed.

[0076] <Screen example> As shown in Figure 11, the overall UI screen comprises a workflow panel 1101 located at the top, a 3D viewport 1102 located in the center, and a detailed settings panel (inspector) 1103 located at the bottom. The workflow panel 1101 contains each unit that defines the design process ("(1) Model Loading", "(1) Model Display", "(3) Jig Generation"). The central 3D viewport 1102 displays the object (workpiece) W and the jig model J generated to hold the object in a grid-like configuration. The presentation control unit 2013 obtains the status of the corresponding design phase from the generated model management table 2023 and controls the display to highlight the current progress.

[0077] As shown in Figure 12, in the 3D viewport 1202 with the object hidden or moved, it can be confirmed that the generated jig model J has a recess (pocket structure) for receiving the object. This pocket structure is formed as a receiving part that closely fits the shape of the object by the service processing unit 2014 performing a process of subtracting (Boolean operation) the shape obtained by inverting the bottom shape of the object from the base shape of the jig. In addition, it is possible to optimize the molding conditions of the jig by selectively applying the "efficiency priority (first mode)" or "material priority (second mode)" algorithm using the mode selection button displayed in the upper right of the 3D viewport 1202. Note that the workflow panel 1201 at the top of the screen provides the same functions as the workflow panel 1101 in Figure 11.

[0078] The detailed settings panels 1103 and 1203 located at the bottom of Figures 11 and 12 are areas for displaying and editing the numerical values ​​of the fixture elements (cylinders, cones, cuboids, etc.) selected as "Object Settings". Here, parameters such as placement position (X, Y, Z coordinates) and size (height, width, rotation angle) can be modified. In particular, the numerical values ​​for "Boolean clearance (cm)" and "Sweep height (cm)" included in the "Parameter Set" item are initially set to recommended values ​​calculated by the service processing unit 2014. When the user changes these values, the receiving control unit 2011 of the server 20 receives the new parameters, and the service processing unit 2014 instructs the regeneration of the fixture model (real-time modeling). This allows the user to immediately reflect the results of fine-tuning in the fixture model on the 3D viewports 1102 and 1202.

[0079] <Summary> As described above, according to this embodiment, users can obtain a highly practical jig model that accurately reflects the shape characteristics of the object, automatically constructed by an automatic analysis and estimation algorithm (or generating AI), simply by uploading 3D data showing the structure of the object and inputting conditions related to the jig. This makes it possible to quickly create jigs that meet specific fixed needs in the manufacturing site without requiring specialized mechanical design skills or a great deal of design time. As a result, it significantly reduces the burden on users in jig design and effectively supports shortening the lead time from design to manufacturing and stabilizing quality in multi-product, small-batch production sites utilizing 3D printers.

[0080] Furthermore, by including detailed geometric analysis results such as surface normals, curvature, and critical edges—not just simple shape inversion data—in the prompts and analysis logic's reference data, it is possible to automatically generate personalized design proposals (fixing position, fixture shape, and placement) that are tailored to the unique geometric characteristics (context) of each object and ensure stable retention. In addition, the system features a function that allows for easy editing and adjustment of each automatically determined component (sweep height, Boolean clearance, etc.) on the preview screen, and an interface that allows for immediate output of the designed jig as STL data that can be 3D printed. This enables users to flexibly reflect their intentions while completing the entire design process, from material preparation to outputting the data for printing, with extreme efficiency.

[0081] (modified version) Next, we will describe some modified examples. The following will primarily focus on the differences from the embodiments described above.

[0082] In the above embodiment, the object is a machine part or a mold, and the conditions (conditions related to the jig) were in the form of selecting or inputting items. However, in the modified example, the condition input may be in the form of inputting prompt instructions in natural language, instead of or in conjunction with this. In this case, the service processing unit 2014 performs a process to determine or change the shape of the fixing device for fixing the object and the placement location of the fixing device based on the content of the input prompt (for example, requirements such as the use of the object, installation location, material, strength, printability, etc.). This makes it possible to generate a flexible jig model that reflects the individual requirements of the user.

[0083] Furthermore, as a preliminary step to achieving full automation through complex shape analysis, a "quick design" function may be provided to quickly generate simple jigs that are particularly in demand on-site. In this case, the processor accepts input of multiple support points specified by the user on the object, automatically places cylindrical or frustoconical support members (primitives) at the positions corresponding to these support points, and generates a point-support type jig model integrated with the base member. The user can design a practical jig in a short time without specialized knowledge by making limited modifications to parameters such as diameter, height, and tip shape on the preview of the generated jig model.

[0084] Furthermore, the technology disclosed herein is not limited to jig design, and in the future, it can be applied to design work other than jigs. In addition, in the development phase (Phase 2), the algorithmization and automation of the main parts of shape analysis, holding point estimation, and jig shape determination may be further advanced, and by using a combination of specific algorithms and generative AI technologies, the level of consistent automation from design to manufacturing may be improved.

[0085] Furthermore, although this embodiment describes a client / server configuration via a wide-area network 80, it is not limited to this. For example, in order to be used in environments where security and measures against information leakage are required, such as within a factory (closed network), a client / server configuration within a local network that does not require connection to an external network, or a standalone configuration, may be adopted. This makes it possible to provide jig design services while protecting confidential information even in an offline environment.

[0086] Furthermore, although the above embodiment describes an example in which the server 20 provides each function, the system is not limited to this configuration. Some or all of the functions provided by the server 20 in this embodiment may be provided by the terminal device 10 (design terminal) instead of the server 20.

[0087] In the above embodiments, the cases in which the units and means are implemented by a processor have been described, but the invention is not limited thereto. The units and means may be implemented in a circuit or processing circuitry, including an integrated circuit (ASIC, etc.), a CPU, a conventional circuit, and / or a combination thereof.

[0088] While embodiments and variations of this disclosure have been described above, these embodiments and variations can be implemented in a variety of other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. For example, configurations and processes in one embodiment may be combined with configurations and processes in another embodiment, or a variation of one embodiment may be applied to another embodiment. These embodiments and their variations are included in the scope and spirit of the invention, as well as in the claims and their equivalents.

[0089] (Note) The details described in each of the above embodiments are noted below.

[0090] (Note 1) A program for operating a computer that includes a processor and memory, The program sends to the processor, A step of receiving 3D data showing the structure of the object, The steps include: extracting features related to the shape of the object based on 3D data; A step of estimating the position for fixing the object based on the characteristics of the object's shape, The steps include: determining the shape of a fixing device and its placement based on the characteristics of the object's shape and the estimated position where the object will be fixed; and generating a jig model for a 3D printer to generate a jig based on the determined shape and placement of the fixing device. A program that executes the steps of outputting a jig model.

[0091] (Note 2) In the acceptance step, further constraints regarding the jig, including at least one of the object's intended use, installation location, material, or strength, are accepted. The program described in Appendix 1 determines the shape of the fixture based on the extracted shape features and constraints in the determination step.

[0092] (Note 3) The program described in Appendix 1 or 2, wherein the shape of the fixture is composed of a combination of primitive shapes including at least one of a cylinder, a frustum of a cone, or a rectangular prism.

[0093] (Note 4) A program according to any one of the appendices 1 to 3, which generates a jig model having a recess that receives the shape of an object by subtracting a shape obtained by inverting at least a part of the shape of the object in the generation step.

[0094] (Note 5) In the generation step, A program described in any of the appendices 1 to 4 that generates a jig model by selectively applying either a first mode, which prioritizes reducing the time or man-hours required to generate the jig model, or a second mode, which prioritizes reducing material consumption during 3D printing.

[0095] (Note 6) A program according to any one of the appendices 1 to 5, which, before the output step, further performs a step of accepting modification of shape parameters, including at least one of a Boolean clearance defining an offset distance between the object and the fixture model, or a sweep height defining the amount of extrusion from the bottom surface of the object to the base, and updates the fixture model based on the modified shape parameters.

[0096] (Note 7) A program as described in any of Appendix 1 to 6, wherein in the estimation step, multiple candidate positions for holding an object are extracted based on its shape characteristics, and in the determination step, the actual placement location is uniquely determined from among the multiple candidate positions based on the constraints of 3D printing and the conditions for avoiding interference with the object.

[0097] (Note 8) A program according to any one of the appendices 1 to 7, which performs the generation or optimization of a design proposal using prompts to instruct an external generative AI in at least one of the estimation or determination steps.

[0098] (Note 9) A program described in any of the appendices 1 to 8, which, in the output step, generates and outputs a report explaining the design intent of the jig model along with the jig model.

[0099] (Note 10) A method to be performed on a computer having a processor and memory, A method by which a processor executes all steps in a program described in any of the appendices 1 through 9.

[0100] (Note 11) An information processing device comprising a processor and memory, An information processing device in which the processor executes all steps in a program described in any of the appendices 1 to 9.

[0101] (Note 12) A system comprising means for executing all steps in any of the programs described in Appendix 1 to Appendix 9. [Explanation of Symbols]

[0102] 1... System 10…Terminal device 101... Control Unit 102...Storage section 103... Communications Department 104...Input section 105...Output section 20... Server 201... Control Unit 202...Storage section 203... Communications Department 204… Input / Output Interface 30…Generating AI system 80…Network

Claims

1. A program for operating a computer that includes a processor and memory, The program is provided to the processor: A step of receiving 3D data showing the structure of the object, A step of extracting features related to the shape of the object based on the three-dimensional data, A step of estimating the position for fixing the object based on the characteristics of the object's shape, A step of determining the shape of a fixing device and the placement location of the fixing device for fixing the object, based on the characteristics of the shape of the object and the estimated position for fixing the object; a step of generating a jig model for a 3D printer to generate a jig, based on the determined shape of the fixing device and the placement location. The steps of outputting the jig model and, In the above generation step, A program for generating a jig model by selectively applying either a first mode that prioritizes reducing the time or effort required to generate the jig model, or a second mode that prioritizes suppressing material consumption during 3D printing.

2. In the aforementioned acceptance step, further constraints regarding the jig, including at least one of the object's use, installation location, material, or strength, are accepted. The program according to claim 1, wherein in the step of determining, the shape of the fixing device is determined based on the extracted shape features and the constraints.

3. The program according to claim 1, wherein the shape of the fixing device is configured by combining primitive shapes including at least one of a cylinder, a frustum of a cone, or a rectangular parallelepiped.

4. The program according to claim 1, wherein in the generation step, a jig model having a recess for receiving the shape of the object is generated by subtracting a shape obtained by inverting at least a part of the shape of the object.

5. The program according to claim 1, further comprising the steps of receiving modification of shape parameters, which include at least one of a Boolean clearance defining an offset distance between the object and the jig model, or a sweep height defining the amount of extrusion from the bottom surface of the object to the base portion, before the output step, and updating the jig model based on the modified shape parameters.

6. In the estimation step described above, a plurality of candidate positions for holding the object are extracted based on the shape characteristics, The program according to claim 1, wherein in the step of determining, the program uniquely determines the placement location to be actually adopted from among the plurality of candidate locations, based on the constraints on the 3D printing and the conditions for avoiding interference with the object.

7. The program according to claim 1, wherein in at least one of the estimation step or the determination step, a prompt for instructing an external generating AI is used to generate or optimize a design proposal.

8. The program according to claim 1, wherein in the output step, a report explaining the design intent of the jig model is generated and output along with the jig model.

9. A method to be performed on a computer having a processor and memory, A method wherein the processor performs all steps in the program described in any one of claims 1 to 8.

10. An information processing device comprising a processor and memory, An information processing apparatus wherein the processor performs all steps in the program described in any one of claims 1 to 8.

11. A system comprising means for performing all steps in a program according to any one of claims 1 to 8.