WO2021174660A1 - 一种基于云的通用参数化模型解析方法及设计系统 - Google Patents

一种基于云的通用参数化模型解析方法及设计系统 Download PDF

Info

Publication number
WO2021174660A1
WO2021174660A1 PCT/CN2020/088236 CN2020088236W WO2021174660A1 WO 2021174660 A1 WO2021174660 A1 WO 2021174660A1 CN 2020088236 W CN2020088236 W CN 2020088236W WO 2021174660 A1 WO2021174660 A1 WO 2021174660A1
Authority
WO
WIPO (PCT)
Prior art keywords
model
parameterized
parameterized model
general
parametric
Prior art date
Application number
PCT/CN2020/088236
Other languages
English (en)
French (fr)
Inventor
张凯
万进舟
刘向东
杨勇
Original Assignee
杭州群核信息技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 杭州群核信息技术有限公司 filed Critical 杭州群核信息技术有限公司
Publication of WO2021174660A1 publication Critical patent/WO2021174660A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing

Definitions

  • the invention relates to the field of computer-aided design (CAD) software, in particular to a cloud-based general parametric model analysis method and design system.
  • CAD computer-aided design
  • the development of computer-aided design software has roughly gone through several stages of 2d graphics -> 3d wireframe -> 3d solid, curve and surface modeling -> parametric modeling.
  • the parametric model defines a series of parameters, geometric constraints, and algorithm rules for generating the model, allowing users to modify the geometry, size and appearance of the model simply by modifying a few parameters. Its features of full-size constraints, full data correlation, and size-driven design modification have special advantages for generating a series of products with similar structures and different sizes, as well as the reuse of product design data.
  • Each company's software defines its own parameterized model data structure, as well as the algorithm rules for generating the final model.
  • the parameterized model generated by each software can only be used in its own software, and it is extremely difficult to exchange data of the parameterized model across software.
  • data exchange across CAD software generally exchanges data such as geometry and material. These data are the result of a certain set of parameters calculated by the parameterized model, which is a kind of "static" data.
  • the imported static data can express the appearance of the product under a certain model/configuration, so as to meet part of the use requirements, but it is often difficult to edit and modify the model twice.
  • some users of Kujiale have accumulated a large number of parameterized model files in software such as Revit before. They want these parameterized model files to be able to be modified after being imported into the Kujiale tool, rather than just Get a fixed shape model.
  • Every kind of existing software is designed for a specific field, and their data structure has the business meaning of the field.
  • Inventor is designed for the field of mechanical design, and its data structure contains "features” such as chamfering, threading, and bending.
  • Revit is designed for the architectural field, and its data structure contains "components” such as walls, beams, slabs, and columns.
  • Kujiale’s existing custom parametric furniture design tools contain data structures such as “plate pieces” of panel furniture.
  • these softwares have basic data structures such as geometric constraints and geometric modeling to varying degrees, the definitions of these basic data structures are different.
  • their basic data structure definitions are mixed with domain business-specific data structure definitions, making it difficult to extend.
  • the purpose of the present invention is to overcome the shortcomings of the prior art, and provide a cloud-based general parameterized model analysis method and design system, which can import/export parameterized model data of any CAD software, and realize the two-way data of the parameterized model Conversion; the imported or created general parameterized model is stored and calculated in the cloud, and the calculation result is transmitted back to the front-end for display, and can also be passed to some external cloud services to achieve additional functions such as rendering, calculating, and outputting the parameterized model ; It can also combine and expand the data structure of general parametric models to develop parametric design software supporting various subdivisions.
  • the present invention provides a cloud-based general parameterized model analysis method, the method includes:
  • Step 1 Import or export the parametric model of any CAD software, first define a general parametric model intermediate data structure, and then develop a plug-in based on the CAD software, or use the data read and write SDK to develop an application, and put the CAD software in the parametric model Read out the various elements of, and analyze the dependencies between them, write them into data conforming to the intermediate data structure, and create a general parameterized model at the same time;
  • Step 2 Create a universal parametric model from multiple channels, including the following steps:
  • the parametric model forms a parametric template
  • Step 3 Compute, store and query the parameterized model in the cloud, store the parameterized template in the cloud database, and record some meta-information in the database for each parameterized template, and provide an API for querying the meta-information of the parameterized model.
  • Front-end query while providing an API to calculate the parameterized model, through the id of the parameterized template provided by the user and the value of a set of parameters, the shape and appearance of the parameterized model when taking this set of values are calculated;
  • Step 4 Display the parameterized model on the front end.
  • the general parameterized model platform will transmit the calculated model geometry and material information to the front end for display.
  • the front end will analyze the received information by further calling the corresponding analysis program, and then browse Display in the server or client;
  • Step 5 Use third-party cloud services to expand the business support capabilities of the parametric model platform, and connect the universal parametric model platform to the third-party service agreed data interface, extract corresponding information from the calculation results of the parametric model, and transmit it to the third-party service , And return the result calculated by the third-party service to the front end for display;
  • Step 6 Support the parametric design software of each subdivided field, and expand the superset of parametric design language suitable for each subdivided industry based on the general data structure of the parametric model to realize the specific design requirements of each subdivided industry.
  • the intermediate data structure of the general parameterized model in step 1 is composed of parameters, geometric primitives, geometric constraints, geometric modeling methods, and dependencies between these elements.
  • an editor with UI can also be used to record the user's interaction process as intermediate data of a parameterized model, and then convert it into a general parameterized model; or through a parameterized model script Language to generate a general parameterized model.
  • This scripting language can be redefined by any existing interpreted scripting language or a high-level language.
  • This scripting language uses scripting to generate the intermediate data of the parameterized model, and then convert it It is a general parameterized model; a high-level language code that realizes a general parameterized model can also be used to generate a general parameterized model.
  • an API for calculating a set of parameterized models can also be provided, and multiple parameterized models can be calculated and returned at the same time, thereby reducing the number of network requests and improving the response speed of front-end applications.
  • the present invention provides a cloud-based general parameterized model design system, which mainly includes: a general data structure of a parameterized model, an intermediate data structure of a parameterized model, and a general expression data structure of a geometric model;
  • the intermediate data structure of the parameterized model is used to realize the import or export of any CAD software parameterized model, that is, two-way data conversion;
  • the general data structure of the parameterized model is obtained by converting the intermediate data structure of the parameterized model through the parameterized model conversion service;
  • the general expression data structure of the geometric model is calculated from the general data structure of the parameterized model through the parameterized model calculation service.
  • the general expression data structure of the geometric model is used as a standard interface data structure for docking with third-party services.
  • Figure 1 is a schematic diagram of the overall architecture of the cloud-based parametric model analysis method and design system.
  • Figure 2 is a flowchart of parametric model creation and conversion.
  • Figure 3 is the calculation and front-end display effect diagram of the parameterized door model.
  • Figure 4 is a schematic diagram of the two-way data conversion of the parameterized model.
  • Figure 5 is a flow chart of the data flow process of the parameterized model.
  • Figure 6 is an implementation flow chart in the field of mechanical design.
  • Figure 7 is the implementation flow chart in the field of architectural design.
  • Figure 8 is the implementation flow chart in the field of decoration design.
  • Figure 9 is a flowchart of implementation in the field of furniture design.
  • the present invention provides a cloud-based general parameterized model analysis method, including:
  • Step 1 Import/export the parameterized model of any CAD software.
  • the data structure is composed of parameters, geometric primitives, geometric constraints, geometric modeling methods and the dependencies between these elements. This data structure only defines the format of the data. In specific implementation, any method such as Json/xml/binary can be used to actually carry the data. Data transmission can be carried out in a variety of ways such as file exchange/network request. Almost all the parametric models of mainstream CAD software can be abstracted into this data structure.
  • Parametric models in reality often require nested expressions.
  • a parametric desk may contain multiple drawers in addition to elements such as the desk and legs.
  • Each drawer itself is a parametric model, including drawer plates, slides and so on.
  • the intermediate data structure of the parameterized model can also support the nested expression of the model. There are many ways to support it: either the data of the nested parameterized model can be directly embedded in the data of the main parameterized model, and each parameter can be parameterized.
  • the model is assigned an id, and then the nested parameterized model is referenced by the id.
  • Step 2 Create a universal parametric model from multiple channels.
  • the calculation process of any parametric model can be regarded as a sequential function execution process.
  • a parametric model is a directed acyclic composed of parameters, functions, and expressions. picture.
  • Geometric primitives, geometric constraints, and geometric modeling methods can all be regarded as a function.
  • the concrete realization of a general parameterized model is to make its parameters, functions, and expressions serializable/deserialized and executable. Based on this requirement, we can implement a general parameterized model in two ways:
  • scripting languages that can be interpreted and executed, such as python, lua, etc.
  • Program fragments written in these languages can be saved, loaded, and executed. Therefore, a general parameterized model is a program fragment.
  • These interpreted languages can often call functions written in compiled languages (such as C/C++), so specific geometric primitives, geometric constraints, and geometric modeling methods can be implemented in script languages or compiled languages.
  • a code generator to convert the intermediate data structure of the parameterized model into scripting language code. After that, this code can be loaded and executed with different input parameters to complete the calculation of the parameterized model.
  • the second method is to use some compiled languages, such as Java/C++, to independently realize the saving, loading, and execution of parameters, expressions, functions and their dependencies defined by the intermediate data structure of the parameterized model.
  • Compiled languages usually provide definitions of basic data types, functions, expressions, and serialization/deserialization methods of basic data types.
  • For functions and expressions we need to write our own serialization and deserialization methods.
  • For functions you only need to record the function name, parameter name, and corresponding parameter value during serialization.
  • deserializing you can use methods such as table lookup and reflection to find the corresponding function address and execute it.
  • For the expression you can serialize it into a string according to the set grammar, and then implement an expression parser.
  • the storage method of the parameterized model can be either in plain text format such as custom text/Json/xml, or in binary format.
  • the general parameterized model platform can provide an API for "creating a parameterized template", which accepts intermediate data of the parameterized model and returns the id of the created parameterized template.
  • a "parameterized model conversion service” can also be developed, allowing users to upload a parametric model of a CAD software, and call plug-ins or applications at the back end of the service to complete the conversion of the parametric model.
  • the "parameterized model conversion service” can also provide some APIs that allow users to set metadata such as the category of parameterized templates.
  • This parameterized model scripting language can be implemented in existing languages such as python, lua, and javascript, or it can be implemented in a high-level language.
  • the front end can provide a code editor environment, allowing users to write programs written in this language, and provide basic functions such as running and debugging.
  • the result of running a parametric model script language program is to produce a parametric model intermediate data.
  • the front end can then create a parametric model based on this intermediate data.
  • the following is a sample code of "parameterized model scripting language”. It creates a parametric model template with two parameters: a cube parametric model with variable width and height.
  • Step 3 In cloud computing, storing and querying the parameterized model, we can store all parameterized templates in the cloud database, and the specific storage can use OSS, MongoDB and other methods.
  • a table containing parameterized template id, category, creation time, parameter list, template address and other information is stored in the relational database. When you need to use a parameterized template, find the template address in the relational database according to the id, and then you can call up the parameterized template data.
  • the parameters, expressions, and functions inside can be parsed first, and then the topological sorting algorithm is used to determine the calculation order of the functions, and these functions are executed in sequence.
  • the topological sorting algorithm is used to determine the calculation order of the functions, and these functions are executed in sequence.
  • geometric constraint functions and geometric modeling functions we can call third-party geometric calculation function libraries such as geometric constraint solvers and geometric modeling engines to help us complete our work.
  • the services of parametric model conversion, storage, and calculation have the characteristics of large data transmission and calculation-intensive.
  • We can adopt various methods such as data compression, parallel calculation, calculation result caching, model simplification, cross-process invocation, and service splitting. Improve the performance and stability of the service.
  • REST APIs such as "calculate a single parameterized model”, “calculate a group of parameterized models”, and “query parameterized model metadata” can be provided for front-end applications to call on demand. Calling methods such as RPC can also be provided for other back-end services to call the functions of the parameterized model platform.
  • Step 4 Display the parameterized model on the front end. After obtaining the calculation result of the parameterized model, we usually need to display it on the front end.
  • the calculation result of a parametric model is usually a geometric model, and there are many ways to display it:
  • the geometric model can be converted into a data format that can be directly displayed on the front end at the back end, such as triangular meshes, pictures, panoramas, etc., and then transmitted to the front end. This method is convenient to implement for the front end, but has low flexibility and interactivity.
  • a structured data format can be defined for the geometric model. After being transmitted to the front end, it will be parsed and displayed by the front end.
  • a base class of "geometric object" which defines general interfaces such as bounding box and id.
  • geometric object In the derived class, define the implementation methods of various specific geometric objects.
  • geometric objects can be divided into solid geometric models, surface geometric models, and mesh geometric models.
  • the industry-wide method is used to represent it. For example, use CSG, boundary expression method, etc. to express solid geometric model, use vertex coordinate array, vertex serial number array, etc. to express triangle mesh model, and so on.
  • special geometric object expression methods based on our own business characteristics.
  • the front-end receives it, the front-end modeling function is called to reproduce the geometry.
  • Model For a geometric model that already exists in the commodity library, we can only transmit a commodity id, and so on. But no matter what kind of geometric objects, they must implement bounding box, id and other interfaces, and provide methods for how to draw themselves.
  • the front end After the front end gets this kind of data, it calls the corresponding triangulation algorithm according to the type of the geometric object, and converts it into a format acceptable to graphic libraries such as WebGl/OpenGl for display. Because the data is structured, the front end can also make rich interactive experiences such as model structure tree, multi-level selection, section display, and secondary editing.
  • Step 5 Use third-party cloud services to expand the business support capabilities of the parameterized model platform.
  • the calculation results of the parameterized model can also be transmitted to different third-party services to continuously expand the business support capabilities of the parameterized model.
  • a GetRenderModel interface which converts the parametric model into a mesh model containing material and lighting information required for rendering, and stores it in Redis, and then returns the Redis key of the mesh model to render the service Later, these Redis keys will be used to obtain these models and assemble them in the rendering scene of the entire home solution.
  • a general geometric model expression method can also be agreed with a third-party service, such as the structured geometric model defined in step 4.ii.
  • Each service receives this general geometric model format. In this way, the workload of connecting multiple third-party services can be reduced.
  • Some third-party services do not necessarily require the geometric expression of the parameterized model, such as the inventory calculation service. At this time, it is enough to transmit some statistical information in the calculation results of the parameterized model to a third party.
  • Services such as rendering, two-dimensional engineering drawings, and inventory calculations are not designed specifically for parametric models, but can also process various data such as grid models and solid models. Independent development and independent deployment of these services are conducive to the realization of a more decoupled software architecture and rapid iterative development.
  • Fig. 5 shows the conversion flow chart of parameterized model data. This only expresses the conversion process of the data form, and does not express at which end the data is generated. For example, according to the 4.i display process, the grid model data is generated at the back end and then transmitted to the front end. If the display process in 4.ii is followed, only the structured geometric model data is generated at the back end, and the mesh model data is generated by the front end after transmission to the front end.
  • Step 6 Support the parametric design software in each subdivision field.
  • the universal parametric model defined by the parametric model platform contains parameters, geometric constraints, geometric modeling methods and other elements. It can be regarded as a universal design language in the field of computer-aided design.
  • design elements such as chamfers, threads, and gears.
  • design elements such as walls, beams, and stair treads.
  • design elements such as partitions and cabinet doors.
  • Each design element can be composed of geometric primitives, geometric constraints, and modeling methods.
  • the sample code for creating the "corner” superset object is as follows. It combines the "sweep” modeling function provided by the general parametric model platform, and then adds business attributes such as "price” to form a "corner" superset object.
  • the present invention also provides a cloud-based general parameterized model design system, including: a general data structure of a parameterized model, an intermediate data structure of a parameterized model, and a general expression data structure of a geometric model;
  • the abstract parameterized scripting language can be replaced by any existing interpreted computer scripting language, or it can be implemented based on a compiled high-level computer language.
  • These high-level languages usually provide definitions of basic data types, functions, expressions, and serialization/deserialization methods of basic data types.
  • functions and expressions we need to write our own serialization and deserialization methods.
  • For functions you only need to record the function name, parameter name, and corresponding parameter value during serialization.
  • deserializing you can use methods such as table lookup and reflection to find the corresponding function address and execute it.
  • For the expression you can serialize it into a string according to the set grammar, and then implement an expression parser.
  • the abstract parameterized scripting language also needs to deal with the order of calculation between functions.
  • the functions form a directed acyclic graph according to the dependency relationship between the return value and the parameters. We can use the topological sorting method to determine the calculation order of the function.
  • the geometric primitive is equivalent to the basic data type of the abstract parameterized scripting language, and then a new geometric data type is extended.
  • We only need to define common geometric types such as points, vectors, lines, arcs, planes, cylinders, splines and surfaces, and define their serialization/deserialization methods.
  • the geometric constraint is a function, and we can define the functions corresponding to the geometric constraints such as parallel, perpendicular, and angle.
  • the function name is the type of geometric constraint.
  • the parameters of the function can include the participating primitives and the specific value of the constraint. For example, for the "straight line parallel” constraint, its function has only two parameters: the two straight lines involved. For the "plane distance” constraint, its function has three parameters: the two planes involved, and the distance between the planes.
  • the specific realization of the function can be carried out by "moving the position of the geometric primitive to meet the conditions required by the constraint". It is also possible to put multiple geometric constraints together and use geometric constraint solving algorithms such as numerical methods or symbolic derivation methods to calculate.
  • the pseudo code example of the geometric constraint calculation function is as follows:
  • the geometric modeling method is also a function.
  • Commonly used geometric modeling methods include stretching, sweeping, rotation, lofting, and Boolean operations. We can implement these methods our, or we can call existing geometric modeling engine packages in the industry to implement them.
  • Geometric modeling is usually a computationally intensive operation. We can consider parallel computing of multiple irrelevant modeling methods to improve computing efficiency.
  • a general parameterized model is a combination of a set of functions that have dependencies on each other, including parameters, expressions, geometric primitives, geometric constraints, and geometric modeling methods.
  • model nesting the data structure definition of a general parameterized model can be shown in the following pseudo code:
  • the method of realizing the superset of design language in the subdivision field is a bit similar to the process of programming in a higher language: using the built-in expressions, operators, and mathematical functions of the language to combine the functions required by the business.
  • the sweep function used is the "sweep" modeling function defined in step b).
  • the intermediate data structure of the parameterized model can be regarded as a more serialized definition method of the data structure of the general parameterized model. This is because when defining the data structure of a general parameterized model, we usually use some advanced mathematics and geometry libraries. Their packages are often relatively large, the class hierarchy is complex, and they are related to specific languages and operating environments. However, the intermediate data structure of the parameterized model is only used for data transmission and does not need to be geometrically calculated, so it can be defined relatively simply. For example, one point can record the three coordinates of x, y, and z. One point on a plane is recorded on the surface, a normal direction, plus the x direction of the plane coordinate system.
  • the plug-in we can also read the geometric primitives, geometric constraints, modeling methods, dependencies, etc. in an existing parametric model intermediate data structure file, and write them as CAD software model data. In this way, as long as one CAD software realizes the plug-in of the intermediate data structure of the read/write parameterized model, it can exchange the parameterized model with any CAD software that also realizes the plug-in.
  • Figure 3 shows the effect of converting the parametric door model in a CAD software into a general parametric model.
  • the models before and after conversion have the same adjustable parameters and can achieve the same deformation.
  • the parametric model conversion service is mainly responsible for converting the intermediate data structure of the parametric model into the general parametric model data structure.
  • This general parameterized model data can be stored in databases such as MongoDb.
  • the parameterized model needs to be calculated, the general parameterized model is loaded from the database, the parameters, expressions, and functions inside are parsed, and the topological sorting algorithm is used to determine the calculation order of the functions, and these functions are executed in sequence.
  • Services such as parameterized model conversion, storage, and calculation have the characteristics of large data transmission and calculation-intensive.
  • We can adopt various methods such as data compression, parallel calculation, calculation caching, and model simplification to improve the performance and stability of the service.
  • the calculation result of a general parametric model can be represented by the general expression data structure of the geometric model.
  • geometric object which defines general interfaces such as bounding box and id.
  • derived class define the implementation methods of various specific geometric objects.
  • geometric objects can be divided into solid geometric models, surface geometric models, and mesh geometric models.
  • the industry-wide method is used to represent it. For example, use CSG, boundary expression method, etc. to express solid geometric model, use vertex coordinate array, vertex serial number array, etc. to express triangle mesh model, and so on.
  • special geometric object expression methods based on our own business characteristics.
  • Geometric objects also need to be instantiated, combined, and bound to materials. Therefore, we can design general geometric primitive objects that can easily combine various geometric objects and realize instantiation and material binding.
  • the general expression data structure of this geometric model is used as a standard interface data structure for rendering, construction drawing, calculation and other services, which can easily realize the docking with these services. Because these third-party services often do not need to know how the parameterized model is parameterized, they only need to know the geometric appearance, hierarchical structure, business attributes (such as the brightness of the light) and other information of a parameterized model after a certain set of parameters.
  • Example 1 As shown in Figure 6, in the field of mechanical design:
  • these parameterized models can be imported into the general parameterized model platform.
  • these parametric mechanical parts and assemblies can be transmitted to the browser/client/mobile terminal and other front ends for display.
  • the user can call out the parametric models of parts or assemblies from a parametric model library and adjust their parameters.
  • These front-end software send the parameterized template id and adjusted parameters corresponding to the model to the general parameterized model platform for calculation.
  • the calculated result returns to the front end to display again.
  • the user can also click the buttons of "Export Rendering Rendering", “Export 2D Engineering Drawing”, “Export BOM”, etc.
  • the front-end software will soon include the design plan data of the parameterized model.
  • the universal parametric model platform calls rendering services, two-dimensional engineering drawing services, calculation list services, etc., to generate product renderings, two-dimensional engineering drawings, and BOM tables
  • the user can also draw the parametric model of mechanical parts or assemblies in a UI editing interface.
  • This UI editor transfers the design data to the universal parametric model platform to generate universal parametric models Model.
  • the design software for architecture, decoration, furniture design, etc. can be developed based on this universal parametric model platform.
  • Users will be able to send parametric models of mechanical parts to architectural, decoration, and furniture design schemes with one click. Such as HVAC equipment in buildings, home appliances in decoration, hardware in furniture design, etc.
  • the user can also use a parametric scripting language programming in a code editing interface to design parametric mechanical parts and assemblies. He can use design elements defined by general parametric model platforms such as stretching and rotation, as well as parametric design elements in the field of mechanical design such as "chamfering", “rounding”, and "punching".
  • Embodiment 2 As shown in Figure 7, in the field of architectural design:
  • these component parameterized design functions are also implemented on the universal parametric model platform, these parametric models can be imported into the universal parametric model platform. After the universal parameterized model platform provides a series of query and calculation functions, these parameterized building components can be transmitted to the browser/client/mobile terminal and other front-ends for display.
  • users can call up component parameterized models from a parameterized model library and adjust their parameters.
  • These front-end software send the parameterized template id and adjusted parameters corresponding to the model to the general parameterized model platform for calculation.
  • the calculated result returns to the front end to display again.
  • the user can also click the buttons of "Export Rendering Rendering", “Export 2D Engineering Drawing”, “Export BOM”, etc.
  • the front-end software will soon include the design plan data of the parameterized model.
  • the universal parametric model platform calls rendering services, two-dimensional engineering drawing services, calculation list services, etc., to generate plan renderings, two-dimensional construction drawings, and calculation list reports
  • the user can also draw the parameterized model in the architectural design plan in a UI editing interface.
  • This UI editor transfers the design data to the general parameterized model platform to generate a general parameterized model .
  • the user can also use a parametric scripting language programming in a code editing interface to design parametric building components. He can use design elements defined by general parametric model platforms such as stretching and rotation, as well as parametric design elements in architectural design fields such as "walls”, “beams”, “plates”, “pillars” and “stairs”. .
  • Embodiment 3 As shown in Figure 8, in the field of decoration design:
  • the 3D models used in the decoration design field often come from 3ds Max, Sketchup and other traditional 3D design software that dominates non-parametric design, and some models from parametric design software such as Revit are also used.
  • Revit software model it can be implemented in accordance with the methods in the field of architectural design.
  • models from 3ds Max and Sketchup on the one hand, in recent years after the 3ds Max 2018 version, as well as in Sketchup plug-ins such as Viz Pro, various levels of parametric design capabilities are provided. We can convert these models as much as possible Parametric model.
  • decoration design For the field of decoration design, users often need to design parametric models such as ceilings and wall panels. Therefore, we can abstract decoration design elements such as "corner line”, “skirt line”, “downlight” and so on, and extend it to the intermediate data structure of the parameterized model.
  • users can call up models from a model library. These models may have both non-parametric models and parametric models. For parametric models, users can adjust their parameters. These front-end software send the parameterized template id and adjusted parameters corresponding to the model to the general parameterized model platform for calculation. The calculated result returns to the front end to display again.
  • the front-end software will send the design plan data including all models to Universal parametric model platform, which calls rendering services, two-dimensional engineering drawing services, and calculation list services from the universal parametric model platform to generate plan renderings, two-dimensional construction drawings, and calculation list reports
  • the user can also draw the parametric model in the decoration design plan in a UI editing interface, such as ceiling, wall panel, background wall, etc.
  • a UI editing interface such as ceiling, wall panel, background wall, etc.
  • This UI editor transmits the design data to the universal
  • the parametric model platform generates general parametric models.
  • the user can also use a parameterized scripting language to program in a code editing interface to design a home parametric model. He can use design elements defined by general parametric model platforms such as stretching and rotation, as well as parametric design elements in the field of decoration design such as "corner”, “skirt”, and "downlight”.
  • Example 4 As shown in Figure 9, in the field of furniture design:
  • furniture design software such as TopSolid
  • the intermediate data of the parametric model can be used as a data protocol, and the furniture data of these design software can be directly converted into the intermediate data of the parametric model through the form of cloud services.
  • These furniture design software usually defines parametric models of common hardware such as "plates” or “bolts” and “slides”. We can also extend these elements in the intermediate data structure of the parametric model.
  • Parametric design elements such as "plates”, “pins”, and “slideways” can also be realized on the universal parametric model platform, and these parametric models can be imported into the universal parametric model platform. After the universal parametric model platform provides a series of query and calculation functions, these parametric furniture models can be transmitted to the browser/client/mobile terminal and other front-ends for display.
  • the user can call up the parameterized model of furniture or its sub-components such as various hardware from a parameterized model library, and adjust their parameters.
  • These front-end software send the parameterized template id and adjusted parameters corresponding to the model to the general parameterized model platform for calculation. The calculated result returns to the front end to display again.
  • the user can also click the buttons of "Export Rendering Rendering", “Export 2D Engineering Drawing”, “Export BOM”, etc.
  • the front-end software will soon include the design plan data of the parameterized model.
  • the universal parametric model platform calls rendering services, two-dimensional engineering drawing services, calculation list services, etc., to generate furniture renderings, two-dimensional engineering drawings, and BOM tables
  • the user can also draw the parametric model in the furniture design plan in a UI editing interface.
  • This UI editor transmits the design data to the universal parametric model platform to generate a universal parametric model .
  • the user can also use a parametric scripting language programming in a code editing interface to design a furniture parametric model. He can use design elements defined by general parametric model platforms such as stretching and rotation, as well as parametric design elements in the furniture design field such as "plates”, “bolts”, and “slides”.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

一种基于云的通用参数化模型解析方法及设计系统,涉及计算机辅助设计(CAD)软件领域,所述方法包括:1、导入/导出任意CAD软件的参数化模型;2、从多种渠道创建通用参数化模型;3、在云端计算、存储和查询参数化模型;4、在前端显示参数化模型;5、利用第三方云服务,扩展参数化模型平台的业务支持能力;6、支持各细分领域的参数化设计软件。另一方面本发明提供一种基于云的通用参数化模型设计平台,包括:参数化模型通用数据结构、参数化模型中间数据结构和几何模型通用表达数据结构。本发明的有益效果为:对任意CAD软件的参数化模型的双向数据转换;充分利用云计算优势,实现大规模、复杂参数化模型的计算、存储、查询和显示;不断接入第三方服务,持续扩展参数化模型的业务支持能力,如高清效果图、二维工程图等;低成本的开发各个细分领域的参数化设计软件,各细分领域的参数化模型可在同一集成环境中进行互操作和深度集成。

Description

一种基于云的通用参数化模型解析方法及设计系统 技术领域
本发明涉及计算机辅助设计(CAD)软件的领域,具体涉及一种基于云的通用参数化模型解析方法及设计系统。
背景技术
计算机辅助设计软件的发展,大致先后经历了2d图形->3d线框->3d实体、曲线曲面造型->参数化造型几个阶段。参数化模型通过定义一系列参数、几何约束、以及生成模型的算法规则,让用户仅仅通过修改几个参数,就能够方便的修改模型的几何形状、尺寸和外观。它的这种全尺寸约束、全数据相关、尺寸驱动设计修改的特点,对生成结构类似、尺寸不同的一系列型号的产品,以及产品设计数据的重用具有特别的优势。
自1985年PTC公司推出参数化造型技术以来,各种主流的三维计算机辅助设计(CAD)软件,如CATIA,NX,Creo,Inventor,Solidworks,Revit等,都采用了这项技术。一些本来没有参数化功能的二维/三维设计软件,如AutoCAD,3ds Max等,也纷纷在其最新版本里加上参数化功能。近年来,在结构和建筑设计领域,出现了Dynamo,Grasshopper等利用图形化编程方式进行参数化设计的工具。在粒子加速器设计领域,人们利用GDML语言来进行具有复杂重复结构的实验设备设计。在装修设计软件领域,酷家乐等新一代互联网三维设计软件提供了进行定制家具设计的参数化设计工具。可见,越来越多的三维设计软件将参数化模型作为其最主要的模型定义方式。
然而,当前的这些参数化设计软件存在着如下的局限性:
1.每家公司的软件都定义了自己的参数化模型数据结构,以及生成最终模型的算法规则。每个软件生成的参数化模型都只能在自己的软件里使用,跨软件进行参数化模型的数据交换极其困难。当前,跨CAD软件的数据交换一般交换的都是几何、材质等数据。这些数据是参数化模型取某一组参数计算的结果,是一种“静态”的数据。导入的这种静态数据可以表达产品在某一型号/配置下的外观形态,从而满足一部分的使用需求,但对模型进行二次编辑和修改往往比较困难。例如,酷家乐有些商家用户之前在Revit等软件中积累了大量的参数化模型文件,他们想让这些参数化模型文件在导入酷家乐工具后,仍然能进行参数化的修改,而不是仅仅得到一个固定形状的模型。
2.现有的每种软件都是针对某一特定领域而设计的,他们的数据结构都带有所属领域的业务含义。例如,Inventor是为机械设计领域设计的,它的数据结构里含有倒角、螺纹、折弯等“特征”。Revit是为建筑领域设计的,它的数据结构里含有墙、梁、板、柱等“构件”。酷家乐现有的定制参数化家具设计工具,则含有板式家具的“板件”等数据结构。虽然这些软件都在不同程度上拥有几何约束、几何造型等基础数据结构,但对这些基础数据结构的定义各不相同。而且,它们对基础数据结构的定义和领域业务特有的数据结构定义混在一起,很难扩展。
3.传统桌面端参数化CAD软件的造型能力强,但它们受限于桌面端的计算、存储能力,无法支持大规模复杂参数化模型的计算。一些新兴互联网设计软件如酷家乐定制设计工具没有这方面的限制,但它们往往局限于某一个细分领域,扩展能力受限。到目前为止,还没有出现一个具有很好扩展能力的,基于互联网的参数化设计平台。
发明内容
本发明的目的在于克服现有技术存在的不足,而提供一种基于云的通用参数化模型解析方法及设计系统,可导入/导出任意CAD软件的参数化模型数据,实现参数化模型的双向数据转换;将导入或创建的通用参数化模型在云端进行存储、计算,计算结果传回前端进行显示,也可传递给一些外部云端服务,实现参数化模型的渲染、算量、出图等附加功能;还可组合和扩展通用参数化模型数据结构,开发出支持各细分领域的参数化设计软件。
本发明的目的是通过如下技术方案来完成的:一方面,本发明提供一种基于云的通用参数化模型解析方法,所述方法包括:
步骤1:导入或导出任意CAD软件的参数化模型,先定义一个通用参数化模型中间数据结构,再基于CAD软件开发一个插件,或利用数据读写SDK开发一个应用,将CAD软件参数化模型中的各种元素读出,并解析出它们之间的依赖关系,写成符合中间数据结构的数据,同时创建出通用参数化模型;
步骤2:从多种渠道创建通用参数化模型,包括以下步骤:
a.利用多种高级语言实现通用参数化模型的创建;
b.将创建好的通用参数化模型按照类别统一存储在数据库中,对于不同的应用按id加载这些参数化模型,并施加不同的参数,得到不同的计算结果,存储在数据库中的待重用的参数化模型形成参数化模板;
c.提供一个创建参数化模板的API,将参数化模型中间数据中记录的元素一一映射为在步骤a中高级语言定义的函数,并设置好函数输入参数和返回值之间的关系,完成通用参数化模板的创建;
步骤3:在云端计算、存储和查询参数化模型,将参数化模板存储在云端数据库中,并为每个参数化模板在数据库中记录一些元信息,提供一个查询参数化模型元信息的API供前端查询,同时提供一个计算参数化模型的API,通过用户提供参数化模板的id和一组参数的取值,计算出该参数化模型在取这组值时的形状和外观;
步骤4:在前端显示参数化模型,通用参数化模型平台会把计算出的模型几何及材质信息传输到前端进行显示,前端将接收到的信息通过进一步调用相应的解析程序进行解析,然后在浏览器或客户端中进行显示;
步骤5:利用第三方云服务,扩展参数化模型平台的业务支持能力,将通用参数化模型平台与第三方服务约定数据接口,从参数化模型的计算结果中抽取相应信息,传输给第三方服务,并将第三方服务计算的结果返回给前端进行显示;
步骤6:支持各细分领域的参数化设计软件,基于参数化模型通用数据结构扩展出适应各个细分行业的参数化设计语言超集,实现各细分行业的具体设计需求。
作为进一步的技术方案,所述步骤1中的通用参数化模型中间数据结构由参数、几何图元、几何约束、几何造型方法以及这些元素之间的依赖关系组成。
作为进一步的技术方案,所述步骤2中还可通过一个带UI的编辑器,将用户的交互过程记录为参数化模型中间数据,再转换为通用参数化模型;或通过一种参数化模型脚本语言来生成通用参数化模型,该种脚本语言,可用任意一种现存的解释型脚本语言,也可用高级语言重新定义而成,该种脚本语言用脚本的方式生成参数化模型中间数据,再转换为通用参数化模型;也可用一段实现通用参数化模型的高级语言代码来生成通用参数化模型。
作为进一步的技术方案,所述步骤3中还可提供一个计算一组参数化模型的API,同时计算多个参数化模型并返回,从而减少网络请求的次数,提高前端应用的响应速度。
另一方面,本发明提供一种基于云的通用参数化模型设计系统,主要包括:参数化模型通用数据结构、参数化模型中间数据结构和几何模型通用表达数据结构;
其中,所述的参数化模型中间数据结构用于实现任意CAD软件参数化模型的导入或导出,即双向数据转换;
所述的参数化模型通用数据结构通过参数化模型转换服务由参数化模型中间数据结构转换得到;
所述的几何模型通用表达数据结构通过参数化模型计算服务由参数化模型通用数据结构计算得到。
作为进一步的技术方案,基于所述的参数化模型通用数据结构扩展出适应各个细分行业的参数化设计语言超集,实现细分行业的具体设计需求。
作为进一步的技术方案,所述的几何模型通用表达数据结构作为标准接口数据结构,用于对接第三方服务。
本发明的有益效果为:
1.对任意CAD软件的参数化模型的双向数据转换;
2.充分利用云计算优势,实现大规模、复杂参数化模型的计算、存储、查询和显示;
3.不断接入第三方服务,持续扩展参数化模型的业务支持能力,如高清效果图、二维工程图等;
4.低成本的开发各个细分领域的参数化设计软件,各细分领域的参数化模型可在同一集成环境中进行互操作和深度集成。
附图说明
图1为基于云的参数化模型解析方法及设计系统总体架构示意图。
图2为参数化模型创建和转换流程图。
图3为参数化门模型的计算和前端显示效果图。
图4为参数化模型双向数据转换示意图。
图5为参数化模型数据流转过程流程图。
图6为机械设计领域实施流程图。
图7为建筑设计领域实施流程图。
图8为装修设计领域实施流程图。
图9为家具设计领域实施流程图。
具体实施方式
下面将结合附图对本发明做详细的介绍:
如附图1所示,本发明提供一种基于云的通用参数化模型解析方法,包括:
步骤1:导入/导出任意CAD软件的参数化模型,为了实现任意CAD软件参数化模型的导入/导出,即双向数据转换,我们首先定义了一个通用参数化模型中间数据结构。该数据结构由参数、几何图元、几何约束、几何造型方法以及这些元素之间的依赖关系组成。此数据结构只是定义了数据的格式,具体实施中,可采取Json/xml/二进制等任意一种方式实际承载此数据。数据的传输,可采用文件交换/网络请求等多种方式进行。几乎所有主流CAD软件的参数化模型,都可抽象为这个数据结构。
现实中的参数化模型,往往有嵌套表达的需求。例如,一个参数化的办公桌,除了桌面、桌腿等元素外,可能还包含多个抽屉。每个抽屉本身又是一个参数化模型,包含屉板、滑道等。参数化模型中间数据结构也可支持模型的嵌套表达,支持的方式有多种:既可以将嵌套参数化模型的数据直接嵌入在主参数化模型的数据中,又可以给每一个参数化模型赋一个id,然后通过id引用嵌套参数化模型。
我们可基于某CAD软件开发一个插件,或利用数据读写SDK开发一个应用,将其模型中的参数、几何图元、几何约束、造型方法等元素读出,解析出它们之间的依赖关系,写成符合中间数据结构的数据。此数据可保存为Json/XML/二进制格式文件,存储为本地文件,或通过网络调用API的方式传输给通用参数化模型平台,创建出通用参数化模型。由此,可实现将任意CAD软件的参数化模型转换为通用参数化模型。如附图4所示为将某CAD软件的参数化模型转换为通用参数化模型的结果。
另一方面,得到参数化模型中间数据后,我们也可将它反向转换为成为某CAD软件的参数化模型。同样,利用CAD软件插件或基于数据读写SDK开发的应用,将中间数据结构中定义的各种元素及其依赖关系,一一对应的创建出该CAD软件的数据元素即可。基于此,我们既可实现不同CAD软件的参数化模型互相转换,又可实现同一CAD软件不同版本之间数据的转换。通常CAD软件的数据只可升版本,不可降版本:即老版本的数据可以另存为新版本的数据,反之则不行。利用本发明的方法,只要为每一版本的CAD软件都实现一个转换插件,即可实现参数化模型文件的版本升/降级。
步骤2:从多种渠道创建通用参数化模型,任意参数化模型的计算过程都可看成一个顺 序的函数执行过程,一个参数化模型就是一个由参数、函数、表达式构成的有向无环图。几何图元、几何约束、几何造型方法都可看作是一个函数。具体实现一个通用参数化模型,就是要让它里面的参数、函数、表达式能够序列化/反序列化,并且能执行。基于这个要求,我们可以有两种方式实现一个通用参数化模型:
一是可以利用一些解释执行的脚本语言,如python,lua等。这些语言写成的程序片段都是可以被保存、加载、执行的。因此,一个通用参数化模型就是一个程序片段。这些解释型语言往往能调用编译型语言(如C/C++)写的函数,故具体的几何图元、几何约束、几何造型方法,既可以用脚本语言实现,也可以用编译型语言实现。用这种方式,我们需要一个代码生成器,将参数化模型中间数据结构转化为脚本语言的代码。之后这段代码可以被加载、赋予不同的入参执行,从而完成参数化模型的计算。
第二种方法是利用一些编译型语言,如Java/C++等,自主实现参数化模型中间数据结构所定义的参数、表达式、函数及其依赖关系的保存、加载、执行。编译型语言通常都提供了基础数据类型、函数、表达式的定义,以及基础数据类型的序列化/反序列化方法。对于函数和表达式,我们需要写出自己的序列化和反序列化方法。通常,对于函数而言,序列化时只要记录函数名、参数名、对应的参数值即可。反序列化时,可利用查表、反射等方法,找到对应的函数地址,执行即可。对于表达式,可以按设定的语法序列化为一个字符串,然后实现一个表达式解析器即可。基于使用的技术栈不同,有很多现成的组件可用。用这种方法,参数化模型的存储方式,既可以用自定义文本/Json/xml等明文格式,也可以用二进制格式。
不管用上述哪种方式,我们都可将中间数据结构中定义的元素一一一一映射为在参数化模型中的函数,并设置好函数输入参数和返回值之间的关系,就完成了一个参数化模型模板的创建。通用参数化模型平台可以提供一个“创建参数化模板”的API,接受参数化模型中间数据,返回创建好的参数化模板id。
从CAD软件导入参数化模型时,可以在CAD软件的插件或基于数据读写SDK开发的转换应用中,直接生成参数化模型中间数据,并调用通用参数化模型平台的“创建参数化模板”API,直接生成参数化模型。另外,也可开发一个“参数化模型转换服务”,允许用户上传某CAD软件的参数化模型,在服务的后端调用插件或者应用,完成参数化模型的转换。“参数化模型转换服务”还可提供一些API,允许用户设定参数化模板的类别等元数据。
除了用导入的方式生成参数化模型,我们还可在前端开发一个带UI的编辑器,让用户能从零创建参数化模型。此编辑器让用户通过交互的方式,创建点、直线、圆弧、多段线、样条、平面、二次曲面、样条曲面等几何图元,创建平行、垂直、距离、角度、半径等几何约束,最后再使用拉伸、扫掠、旋转、放样、布尔操作等造型方法生产最终的模型。编辑器还可提供给参数化模型赋材质的方法,将材质的铺贴信息和参数化模型的某个组件或面联系起来。编辑器最终可把所有这些交互数据,都转换成参数化模型中间数据,然后调用通用参数化模型平台的“创建参数化模板”API生成参数化模型。
在前端,我们还可通过定义一种“参数化模型脚本语言”的方式,让用户用编程的方式生成参数化模型。这种参数化模型脚本语言可用python,lua,javascript等现有的语言实现,也可用某种高级语言自行实现。前端可提供一个代码编辑器环境,允许用户编写这种语言写的程序,并提供运行,调试等基本功能。一段参数化模型脚本语言程序运行的结果,就是产生一个参数化模型中间数据。前端随后可依据此中间数据创建参数化模型。下面是一段“参数化模型脚本语言”的示例代码。它创建了一个具有两个参数的参数化模型模板:一个可改变宽度和高度的立方体参数化模型。
//create the paramModel
def param h,d
let paramModel=new ParamModel();
let lineSeg1=paramModel.addLineSeg((0,0,0),(1,0,0))
let lineSeg2=paramModel.addLineSeg((0,1,0),(1,1,0))
let distLnLn=paramModel.addDistLnLnConstraint(lineSeg1,lineSeg2,d);
let profile=paramModel.addProfile(lineSeg1,lineSeg2,…)
let extrusion=paramModel.addExtrusion(profile,h);
//now execute this paramModel with parameters
let body=paramModel.execute(h:300,d:400)
最后,直接利用实现通用参数化模型的编程语言(如Java/C++),也可构建出通用参数化模型。不过这种方法一般只用作参数化模型平台的开发人员构建单元测试用,这里不做详述。参数化模型创建和转换的数据流程,见附图2所示。
步骤3:在云端计算、存储和查询参数化模型,我们可将所有的参数化模板都存储在云端数据库中,具体的存储可采用OSS,MongoDB等多种方式。另外在关系型数据库中存一张包含参数化模板id,类别,创建时间,参数列表,模板地址等信息的表。需要使用某个参数化模板时,根据id在关系型数据库中查找到模板地址,即可调出参数化模板数据。
参数化模板计算时,可先解析出里面的参数、表达式、函数,再利用拓扑排序算法决定函数的计算顺序,依次执行这些函数。计算几何约束函数和几何造型函数时,我们可以调用几何约束求解器、几何建模引擎这些第三方几何计算函数库,来帮助我们完成工作。参数化模型转换、存储、计算这些服务具有大数据量传输、计算密集型等特点,我们可采取数据压缩、并行计算、计算结果缓存、模型简化、跨进程调用、服务拆分等各种方法,提升服务的性能和稳定性。
通常,可提供“计算单个参数化模型”,“计算一组参数化模型”,“查询参数化模型元数据”等REST API,供前端应用按需调用。也可提供RPC等调用方式,供其他后端服务调用参数化模型平台的功能。
步骤4:在前端显示参数化模型,得到参数化模型的计算结果后,通常我们需要在前端进行显示。参数化模型的计算结果通常是一个几何模型,显示的方法也有多种:
i.可在后端将几何模型转换为前端可直接显示的数据格式,如三角网格、图片、全景图等,再传输到前端。这种方法对前端而言,实施方便,但灵活性和可交互性较低。
ii.可为几何模型定义一个结构化的数据格式,传输到前端后,由前端解析后再显示。例如,我们可定义一个“几何对象”的基类,里面定义包围盒、id等通用接口。在派生类里,再定义各种具体的几何对象的实现方法。一般而言,几何对象可分为实体几何模型、面体几何模型、网格几何模型等多种。对每种几何模型,都使用业界通行的方法来表示。如用CSG、边界表达法等来表达实体几何模型、用顶点坐标数组、顶点序号数组等表示三角网格模型,等等。此外,我们还可根据自身的业务特点,扩展出特殊的几何对象表达方法。例如为了减少模型的传输大小,我们可将造型方法的输入参数记录下来,表达此几何模型是“用这种造型方法造出来的”,前端接收到后,再调用前端的造型函数复现此几何模型。对已经存在于商品库中的一个几何模型,我们可以只传输一个商品id,等等。但无论是哪一种几何对象,它们都要实现包围盒、id等接口,并提供如何绘制自身的方法。前端拿到这种数据后,再根据几何对象的类型,调用相应的三角化算法,将其转变为WebGl/OpenGl等图形库能接受的格式进行显示。因为数据是结构化的,前端还能据此做出模型结构树、多级选择、剖切显示、二次编辑等丰富的交互体验。
如附图3所示为同一个参数化门模板,在取不同的长宽参数计算后,在前端的展示效果。
步骤5:利用第三方云服务,扩展参数化模型平台的业务支持能力,参数化模型的计算结果也可以传输给不同的第三方服务,不断扩展参数化模型的业务支持能力。我们可将参数化模型的计算结果转换为第三方服务所需的格式,然后调用第三方服务的API,或实现第三方服务要求的接口,由第三方服务回调取得它所需的数据。例如,对接渲染服务时,我们会实现一个GetRenderModel接口,里面会把参数化模型转换为渲染所需的包含材质、灯光信息的网格模型存在Redis里面,然后返回网格模型的Redis key,渲染服务后续会利用这些Redis key获取这些模型,组装在整个家居方案的渲染场景里面。
另一方面,也可与第三方服务约定一个通用的几何模型表达方法,如步骤4.ii里定义的结构化几何模型,各个服务都接收这个通用的几何模型格式。用这种方法,可以降低对接多个第三方服务的工作量。
有些第三方服务并不一定需要参数化模型的几何表达,如清单算量服务。这时候,把参数化模型计算结果中的一些统计数量信息传输给第三方即可。
渲染、二维工程图、清单算量等服务,并不专为参数化模型而设计,也可处理网格模型,实体模型等多种数据。将这些服务独立开发,独立部署,有利于实现更解耦的软件架构,有利于快速迭代开发。
如附图5所示为参数化模型数据的转换流程图。这里只表达数据形态的转换流程,并未表达数据在前后端哪一端生成。例如,按4.i的显示流程,网格模型数据在后端生成,然后传输到前端。若按4.ii的显示流程,后端只生成结构化几何模型数据,传输到前端后,由前 端生成网格模型数据。
步骤6:支持各细分领域的参数化设计软件,参数化模型平台定义的通用参数化模型,含有参数、几何约束、几何造型方法等要素,可以看作是计算机辅助设计领域的通用设计语言。为了设计出更符合细分领域设计习惯的参数化设计软件,我们往往需要基于它再扩展出适应各个细分行业的参数化设计语言超集。例如对于机械设计领域,我们可以扩展出倒角、螺纹、齿轮等设计元素。对建筑设计领域,我们可以扩展出墙、梁、楼梯踏板等设计元素。对定制家具领域,我们可以扩展出隔板、柜门等设计元素。每一种设计元素,都可由几何图元、几何约束、造型方法等组合而成。
例如,我们要为装修设计行业开发一种参数化吊顶设计工具,就可为吊顶里面的“角线”创建出一个超集对象。创建“角线”超集对象的示例代码如下。它组合使用了通用参数化模型平台提供的“扫掠”造型函数,然后附加上“价格”等业务属性,就形成了一个“角线”超集对象。
Figure PCTCN2020088236-appb-000001
本发明还提供一种基于云的通用参数化模型设计系统,包括:参数化模型通用数据结构、参数化模型中间数据结构和几何模型通用表达数据结构;
1.实现参数化模型通用数据结构
a)实现抽象参数化脚本语言
抽象参数化脚本语言,可以用任何一种现有的解释型计算机脚本语言来代替,也可以基于某种编译型的高级计算机语言来实现。这些高级语言通常都提供了基础数据类型、函数、表达式的定义,以及基础数据类型的序列化/反序列化方法。对于函数和表达式,我们需要写出自己的序列化和反序列化方法。通常,对于函数而言,序列化时只要记录函数名、参数名、对应的参数值即可。反序列化时,可利用查表、反射等方法,找到对应的函数地址,执行即可。对于表达式,可以按设定的语法序列化为一个字符串,然后实现一个表达式解析器即可。基于使用的技术栈不同,有很多现成的组件可用。
抽象参数化脚本语言还需要处理函数之间的计算顺序。函数之间根据返回值和参数的依赖关系形成了一个有向无环图,我们可以用拓扑排序的方法来决定函数的计算顺序。
b)实现计算机辅助设计领域语言
如前所述,我们需要定义几何图元、几何约束、造型方法这三大类要素。
几何图元相当于在抽象参数化脚本语言的基础数据类型之上,再扩展出新的几何数据类型。我们只需要定义点、向量、直线、圆弧、平面、柱面、样条曲线曲面等常用的几何类型,并定义出它们的序列化/反序列化方法即可。
几何约束是一个函数,我们可以定义出平行、垂直、角度等几何约束对应的函数。函数名就是几何约束的类型,函数的参数可包括所参与的图元,以及约束的具体数值。例如,对于“直线平行”约束,它的函数只有两个参数:所参与的两条直线。对于“平面距离”约束,它的函数有三个参数:所参与的两个平面,以及平面之间的距离。函数的具体实现,可以通过“移动几何图元的位置来满足约束所要求的条件”的方式来进行。也可以将多个几何约束放在一起,用数值法或者符号推导法等几何约束求解算法来计算。几何约束计算函数的伪代码示例如下:
Figure PCTCN2020088236-appb-000002
几何造型方法也是一个函数。常用的几何造型方法有拉伸、扫掠、旋转、放样、布尔操作等。我们可以自己实现这些方法,也可以调用业界现有的几何建模引擎包来实现。几何造型通常是计算密集型操作。我们可以考虑将多个互不相干的造型方法并行计算,以提高计算效率。
一个通用参数化模型,就是包括参数、表达式、几何图元、几何约束、几何造型方法等在内的一组互相之间有依赖关系的函数的组合。在考虑模型嵌套的情况下,一个通用参数化模型的数据结构定义可如下伪代码所示:
Figure PCTCN2020088236-appb-000003
c)实现细分领域设计语言超集
实现细分领域设计语言超集的方法,有点类似于使用高等语言编程的过程:用语言内置的表达式、操作符、数学函数组合出业务所需的函数。在这里,我们是用几何图元、几何约 束、几何造型方法组合出领域设计语言函数。例如,我们可为吊顶设计工具组合出一个“角线”的函数:
Figure PCTCN2020088236-appb-000004
实现“角线”函数时,用到的sweep函数,就是在步骤b)里面定义的“扫掠”造型函数。我们将几何造型、商品价格等信息组合在一起,形成了一个业务领域的“角线”参数化构件。
2.实现参数化模型中间数据结构
参数化模型中间数据结构,可看作通用参数化模型数据结构的一种更利于序列化的定义方式。这是因为,定义通用参数化模型数据结构时,我们通常会用到一些高级的数学、几何库,他们的包往往比较大,类层次结构复杂,且和具体的语言、运行环境相关。而参数化模型中间数据结构只用作数据传递,不用做几何计算,因此可以定义得比较简单。例如,一个点就记录x,y,z三个坐标即可。一个平面就记录面上一点,一个法向,加平面坐标系的x方向即可。
基于此中间数据结构,我们可以有多种方式来创建参数化模型:
i.利用高级语言或脚本语言写代码来生成中间数据结构,并将其转换为参数化模型。这种方式可用作编写通用参数化模型平台的单元测试,或者供有编程经验的用户来编程创建参数化模型
ii.开发参数化编辑器UI,将用户的交互操作记录下来,保存为参数化模型中间数据结构,在转换为参数化模型
iii.开发CAD软件插件,将它们的参数化模型转换为中间数据结构,再转换为通用参数化模型平台的参数化模型。
3.实现CAD软件参数化模型的双向数据交换
大多数CAD软件都提供了SDK,可进行插件二次开发。我们可为每一种要转换的参数化设计软件开发一个插件,根据SDK读取里面的几何图元、几何约束、造型方法等信息。通常,从这些要素的定义本身,我们就可以推断出它们的计算先后顺序。我们可以把读出来的几何图元、几何约束、造型方法等,及其他们的依赖关系,写成一个参数化模型中间数据结构。根据需要,这个数据结构可以写成二进制流,或纯文本形式。
在插件里,我们也可以根据一个现有的参数化模型中间数据结构文件,读取里面的几何图元、几何约束、造型方法、依赖关系等,将它们写为CAD软件的模型数据。这样,只要一个CAD软件实现了读/写参数化模型中间数据结构的插件,它就能和任一个也实现了这种插件的CAD软件交换参数化模型。
如附图3所示为我们将某CAD软件中的参数化门模型转换为通用参数化模型的效果。转换前和后的模型,拥有同样的可调整参数,可实现同样的形变。
4.实现模型转换、存储、计算服务
参数化模型转换服务主要负责把参数化模型中间数据结构转换为通用参数化模型数据结构。此通用参数化模型数据可保存在MongoDb等数据库里。需要计算参数化模型时,再从数据库加载通用参数化模型,解析出里面的参数、表达式、函数,利用拓扑排序算法决定函数的计算顺序,依次执行这些函数。计算几何约束函数和几何造型函数时,我们可以调用几何约束求解器、几何建模引擎这些第三方几何计算函数库,来帮助我们完成工作。
参数化模型转换、存储、计算这些服务具有大数据量传输、计算密集型等特点,我们可采取数据压缩、并行计算、计算缓存、模型简化等各种方法,提升服务的性能和稳定性。
5.实现几何模型通用表达数据结构,对接渲染、施工图、算量等外部服务
一个通用参数化模型的计算结果,可用几何模型通用表达数据结构来表示。
我们可定义一个“几何对象”的基类,里面定义包围盒、id等通用接口。在派生类里,再定义各种具体的几何对象的实现方法。按CAD软件的一般使用场景,几何对象可分为实体几何模型、面体几何模型、网格几何模型等多种。对每种几何模型,都使用业界通行的方法来表示。如用CSG、边界表达法等来表达实体几何模型、用顶点坐标数组、顶点序号数组等表示三角网格模型,等等。此外,我们还可根据自身的业务特点,扩展出特殊的几何对象表达方法。例如为了减少模型的传输大小,我们可将造型方法函数的输入参数记录下来,表达此几何模型是“用这种造型方法造出来的”、为了表达已经存在于商品库中的一个几何模型,我们可以用一个商品id表达此几何对象,等等。但无论是哪一种几何对象,它们都要实现包围盒、id等接口,并提供如何绘制自身的方法。
几何对象还有实例化、组合、绑定材质等需求,因此我们可设计能方便组合各种几何对象的,并实现实例化,材质绑定的通用几何图元对象。
将此几何模型通用表达数据结构作为和渲染、施工图、算量等服务的标准接口数据结构,可轻松实现和这些服务的对接。因为这些第三方服务往往不需要知道参数化模型是如何参变的,它们只要知道一个参数化模型取某一组参数后的几何外观、层次结构、业务属性(如灯光的亮度)等信息。
实施例1:如附图6所示,在机械设计领域:
可在常用的机械设计软件如Autodesk Inventor,Solidworks,CATIA,CReo,NX上利用其SDK开发一个插件,将该软件的参数化模型转换为参数化模型中间数据。对Autodesk  Inventor这种提供了可读写Inventor文件的SDK(Inventor Server)的软件,可开发一个独立运行的应用程序,将该软件的参数化模型转换为参数化模型中间数据。由于这些软件一般都提供了“倒角”,“倒圆”,“打孔”等特征操作,我们可将这些特征的参数和几何图元输入都收集起来,总结出一组通用的特征中间数据结构。据此,则可实现比通用参数化模型更高一层次的机械参数化模型的数据交换。
在通用参数化模型平台上同样实现这些特征参数化设计函数,则可将这些参数化模型都导入到通用参数化模型平台。通用参数化模型平台提供一系列的查询及计算函数后,可将这些用参数化机械零件、装配件传输到浏览器/客户端/移动端等前端来显示。
在浏览器/PC软件/移动App中,用户可以从一个参数化模型库中调出零件或装配件参数化模型,并调节它们的参数。这些前端软件就把模型对应的参数化模板id和调节后的参数发送到通用参数化模型平台计算。计算得到的结果回到前端重新显示。
在浏览器/PC软件/移动App中,用户也可以点击“出渲染效果图”,“出二维工程图”,“出BOM表”等按钮,前端软件即将包含参数化模型的设计方案数据发送给通用参数化模型平台,由通用参数化模型平台调用渲染服务、二维工程图服务、算量清单服务等,生成产品效果图、二维工程图、BOM表
在浏览器/PC软件/移动App中,用户也可在一个UI编辑界面,绘制机械零件或装配件的参数化模型,此UI编辑器将设计数据传输到通用参数化模型平台,生成通用参数化模型。由于可依据此通用参数化模型平台开发出建筑、装修、家具设计等设计软件。用户将可以一键把机械零件参数化模型发送到建筑、装修、家具设计方案。如建筑里的暖通设备、装修里的家电、家具设计中的五金件等。
在浏览器/PC软件/移动App中,用户也可在一个代码编辑界面,使用参数化脚本语言编程,来设计参数化机械零件和装配件。他既可以使用拉伸、旋转等通用参数化模型平台定义的设计元素,也可以使用“倒角”,“倒圆”,“打孔”等机械设计领域的参数化设计元素。
实施例2:如附图7所示,在建筑设计领域:
可在常用的建筑设计软件如Revit,Archicad上利用其SDK开发一个插件,将该软件的参数化模型转换为参数化模型中间数据。由于这些软件一般都提供了“墙”,“梁”,“板”,“柱”,“楼梯”等内置构件,我们可将这些构件的参数和几何图元输入都收集起来,总结出一组通用的构件中间数据结构。据此,则可实现比通用参数化模型更高一层次的建筑参数化模型的数据交换。
在通用参数化模型平台上同样实现这些构件参数化设计函数,则可将这些参数化模型都导入到通用参数化模型平台。通用参数化模型平台提供一系列的查询及计算函数后,可将这些用参数化建筑构件传输到浏览器/客户端/移动端等前端来显示。
在浏览器/PC软件/移动App中,用户可以从一个参数化模型库中调出构件参数化模型,并调节它们的参数。这些前端软件就把模型对应的参数化模板id和调节后的参数发送到通用 参数化模型平台计算。计算得到的结果回到前端重新显示。
在浏览器/PC软件/移动App中,用户也可以点击“出渲染效果图”,“出二维工程图”,“出BOM表”等按钮,前端软件即将包含参数化模型的设计方案数据发送给通用参数化模型平台,由通用参数化模型平台调用渲染服务、二维工程图服务、算量清单服务等,生成方案效果图、二维施工图、算量清单报表
在浏览器/PC软件/移动App中,用户也可在一个UI编辑界面,绘制建筑设计方案中的参数化模型,此UI编辑器将设计数据传输到通用参数化模型平台,生成通用参数化模型。
在浏览器/PC软件/移动App中,用户也可在一个代码编辑界面,使用参数化脚本语言编程,来设计参数化建筑构件。他既可以使用拉伸、旋转等通用参数化模型平台定义的设计元素,也可以使用“墙”,“梁”,“板”,“柱”,“楼梯”等建筑设计领域的参数化设计元素。
实施例3:如附图8所示,在装修设计领域:
装修设计领域用到的三维模型常常来自3ds Max,Sketchup等传统上非参数设计占主导的三维设计软件,也用到一些来自Revit等参数化设计软件的模型。对于Revit软件模型,可依照建筑设计领域的方法照样实施。对来自3ds Max,Sketchup的模型,一方面,近年来在3ds Max 2018版以后,以及Viz Pro等Sketchup插件里,都提供了不同程度的参数化设计能力,我们可以把这些模型尽可能地转为参数化模型。另一方面,对于3ds Max和Sketchup的非参数化模型,我们可与扩展出多边形网格、边界表达等数据结构,将它们扩展加入参数化模型中间数据结构中,仍然把这些模型传输到通用参数化模型平台。虽然这些模型缺少了“调节参数改变形状”的能力,但它们依然可以享受并行计算、云端存储、前端显示、出高清效果图、施工图、算量清单等能力。
对于装修设计领域而言,用户往往需要设计吊顶、墙板等参数化模型。因此我们可以抽象出“角线”,“踢脚线”,“筒灯”等装修设计元素,扩展到参数化模型中间数据结构中。
在浏览器/PC软件/移动App中,用户可以从一个模型库中调出模型,这些模型可能既有非参数化模型,又有参数化模型。对于参数化模型,用户可调节它们的参数。这些前端软件就把模型对应的参数化模板id和调节后的参数发送到通用参数化模型平台计算。计算得到的结果回到前端重新显示。
在浏览器/PC软件/移动App中,用户也可以点击“出渲染效果图”,“出二维工程图”,“出BOM表”等按钮,前端软件即将包含所有模型的设计方案数据发送给通用参数化模型平台,由通用参数化模型平台调用渲染服务、二维工程图服务、算量清单服务等,生成方案效果图、二维施工图、算量清单报表
在浏览器/PC软件/移动App中,用户也可在一个UI编辑界面,绘制装修设计方案中的参数化模型,如吊顶、墙板、背景墙等,此UI编辑器将设计数据传输到通用参数化模型平台,生成通用参数化模型。
在浏览器/PC软件/移动App中,用户也可在一个代码编辑界面,使用参数化脚本语言编 程,来设计家居参数化模型。他既可以使用拉伸、旋转等通用参数化模型平台定义的设计元素,也可以使用“角线”,“踢脚线”,“筒灯”等装修设计领域的参数化设计元素。
实施例4:如附图9所示,在家具设计领域:
可在常用的家具设计软件如TopSolid上,利用其SDK开发一个插件,将该软件的参数化模型转换为参数化模型中间数据。对于一些新一代板式家具(定制)云设计软件,则可以参数化模型中间数据为数据协议,通过云服务的形式直接将这些设计软件的家具数据转换为参数化模型中间数据。这些家具设计软件通常定义了“板件”或“插销”,“滑道”等常用五金件参数化模型,我们可以在参数化模型中间数据结构中也扩展出这些元素。
在通用参数化模型平台上同样实现“板件”,“插销”,“滑道”等参数化设计元素,则可将这些参数化模型都导入到通用参数化模型平台。通用参数化模型平台提供一系列的查询及计算函数后,可将这些用参数化家具模型传输到浏览器/客户端/移动端等前端来显示。
在浏览器/PC软件/移动App中,用户可以从一个参数化模型库中调出家具参数化模型或其子部件如各种五金件的参数化模型,并调节它们的参数。这些前端软件就把模型对应的参数化模板id和调节后的参数发送到通用参数化模型平台计算。计算得到的结果回到前端重新显示。
在浏览器/PC软件/移动App中,用户也可以点击“出渲染效果图”,“出二维工程图”,“出BOM表”等按钮,前端软件即将包含参数化模型的设计方案数据发送给通用参数化模型平台,由通用参数化模型平台调用渲染服务、二维工程图服务、算量清单服务等,生成家具效果图、二维工程图、BOM表
在浏览器/PC软件/移动App中,用户也可在一个UI编辑界面,绘制家具设计方案中的参数化模型,此UI编辑器将设计数据传输到通用参数化模型平台,生成通用参数化模型。
在浏览器/PC软件/移动App中,用户也可在一个代码编辑界面,使用参数化脚本语言编程,来设计家具参数化模型。他既可以使用拉伸、旋转等通用参数化模型平台定义的设计元素,也可以使用“板件”,“插销”,“滑道”等家具设计领域的参数化设计元素。
可以理解的是,对本领域技术人员来说,对本发明的技术方案及发明构思加以等同替换或改变都应属于本发明所附的权利要求的保护范围。

Claims (7)

  1. 一种基于云的通用参数化模型解析方法,其特征在于,所述方法包括:
    步骤1:导入或导出任意CAD软件的参数化模型,先定义一个通用参数化模型中间数据结构,再基于CAD软件开发一个插件,或利用数据读写SDK开发一个应用,将CAD软件参数化模型中的各种元素读出,并解析出它们之间的依赖关系,写成符合中间数据结构的数据,同时创建出通用参数化模型;
    步骤2:从多种渠道创建通用参数化模型,包括以下步骤:
    a.利用多种高级语言实现通用参数化模型的创建;
    b.将创建好的通用参数化模型按照类别统一存储在数据库中,对于不同的应用按id加载这些参数化模型,并施加不同的参数,得到不同的计算结果,存储在数据库中的待重用的参数化模型形成参数化模板;
    c.提供一个创建参数化模板的API,将参数化模型中间数据中记录的元素一一映射为在步骤a中高级语言定义的函数,并设置好函数输入参数和返回值之间的关系,完成通用参数化模板的创建;
    步骤3:在云端计算、存储和查询参数化模型,将参数化模板存储在云端数据库中,并为每个参数化模板在数据库中记录一些元信息,提供一个查询参数化模型元信息的API供前端查询,同时提供一个计算参数化模型的API,通过用户提供参数化模板的id和一组参数的取值,计算出该参数化模型在取这组值时的形状和外观;
    步骤4:在前端显示参数化模型,通用参数化模型平台会把计算出的模型几何及材质信息传输到前端进行显示,前端将接收到的信息通过进一步调用相应的解析程序进行解析,然后在浏览器或客户端中进行显示;
    步骤5:利用第三方云服务,扩展参数化模型平台的业务支持能力,将通用参数化模型平台与第三方服务约定数据接口,从参数化模型的计算结果中抽取相应信息,传输给第三方服务,并将第三方服务计算的结果返回给前端进行显示;
    步骤6:支持各细分领域的参数化设计软件,基于参数化模型通用数据结构扩展出适应各个细分行业的参数化设计语言超集,实现各细分行业的具体设计需求。
  2. 根据权利要求1所述的基于云的通用参数化模型解析方法,其特征在于:所述步骤1中的通用参数化模型中间数据结构由参数、几何图元、几何约束、几何造型方法以及这些元素之间的依赖关系组成。
  3. 根据权利要求1所述的基于云的通用参数化模型解析方法,其特征在于:所述步骤2中还可通过一个带UI的编辑器,将用户的交互过程记录为参数化模型中间数据,再转换为通用参数化模型;或通过一种参数化模型脚本语言来生成通用参数化模型,该种脚本语言,可用任意一种现存的解释型脚本语言,也可用高级语言重新定义而成,该种脚本语言用脚本的方式生成参数化模型中间数据,再转换为通用参数化模型;也可用一段实现通用参数化模型 的高级语言代码来生成通用参数化模型。
  4. 根据权利要求1所述的基于云的通用参数化模型解析方法,其特征在于:所述步骤3中还可提供一个计算一组参数化模型的API,同时计算多个参数化模型并返回,从而减少网络请求的次数,提高前端应用的响应速度。
  5. 一种基于云的通用参数化模型设计系统,其特征在于,主要包括:参数化模型通用数据结构、参数化模型中间数据结构和几何模型通用表达数据结构;
    其中,所述的参数化模型中间数据结构用于实现任意CAD软件参数化模型的导入或导出,即双向数据转换;
    所述的参数化模型通用数据结构通过参数化模型转换服务由参数化模型中间数据结构转换得到;
    所述的几何模型通用表达数据结构通过参数化模型计算服务由参数化模型通用数据结构计算得到。
  6. 根据权利要求5所述的基于云的通用参数化模型设计系统,其特征在于:基于所述的参数化模型通用数据结构扩展出适应各个细分行业的参数化设计语言超集,实现细分行业的具体设计需求。
  7. 根据权利要求5所述的基于云的通用参数化模型设计系统,其特征在于:所述的几何模型通用表达数据结构作为标准接口数据结构,用于对接第三方服务。
PCT/CN2020/088236 2020-03-04 2020-04-30 一种基于云的通用参数化模型解析方法及设计系统 WO2021174660A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010141840.5A CN111324965B (zh) 2020-03-04 2020-03-04 一种基于云的通用参数化模型解析方法及设计系统
CN202010141840.5 2020-03-04

Publications (1)

Publication Number Publication Date
WO2021174660A1 true WO2021174660A1 (zh) 2021-09-10

Family

ID=71165552

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/088236 WO2021174660A1 (zh) 2020-03-04 2020-04-30 一种基于云的通用参数化模型解析方法及设计系统

Country Status (2)

Country Link
CN (1) CN111324965B (zh)
WO (1) WO2021174660A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113902877A (zh) * 2021-09-30 2022-01-07 中北大学 一种基于revit族图元模型互导的方法
CN113935087A (zh) * 2021-09-22 2022-01-14 深圳市和一广告装饰工程有限公司 一种装修方案分析方法及系统
CN115062362A (zh) * 2022-08-11 2022-09-16 杭州片段网络科技有限公司 基于FreeCAD内核的纸盒刀版开发方法、装置及相关设备
CN115291842A (zh) * 2022-08-24 2022-11-04 金航数码科技有限责任公司 一种cad结构件轻量化转换与在线浏览方法及系统
CN115311429A (zh) * 2022-08-09 2022-11-08 北京飞渡科技有限公司 一种基于Revit的数据导出方法及系统
WO2023103415A1 (zh) * 2021-12-09 2023-06-15 上海望友信息科技有限公司 元器件建模及参数化的方法、系统、电子设备及存储介质

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111651903A (zh) * 2020-07-07 2020-09-11 中国科学院近代物理研究所 一种粒子加速器工程优化方法和系统
CN112381229B (zh) * 2020-11-03 2024-01-02 中国直升机设计研究所 一种基于三维数模的知识集成系统及方法
CN112327719B (zh) * 2020-11-19 2022-10-25 山东高速信息集团有限公司 一种智慧园区中台统一应用接口库的实现方法及系统
CN112465953A (zh) * 2020-12-02 2021-03-09 杭州群核信息技术有限公司 一种基于模板的快速参数化建模方法
CN112449022B (zh) * 2020-12-08 2023-07-18 和利时卡优倍科技有限公司 云边协同方法、装置、系统及电子设备
CN112560156A (zh) * 2020-12-24 2021-03-26 杭州群核信息技术有限公司 一种基于几何约束的家具动态设计展示方法及系统
CN112818538B (zh) * 2021-01-29 2023-07-07 北京仿真中心 一种想定参数层次设计方法
CN113076574B (zh) * 2021-04-20 2023-05-02 西安交通大学 一种轻量化跨平台的在线参数化建模方法
CN113434934A (zh) * 2021-06-28 2021-09-24 杭州群核信息技术有限公司 家居布局摆放方法、装置和存储介质
CN113450458B (zh) * 2021-06-28 2023-03-14 杭州群核信息技术有限公司 家居参数化模型的数据转化系统、方法、装置和存储介质
CN113535159A (zh) * 2021-07-20 2021-10-22 中船第九设计研究院工程有限公司 一种基于ruby语言的工厂设施双向参数化建模方法
CN113572846A (zh) * 2021-07-27 2021-10-29 广州引力波信息科技有限公司 一种跨平台数据交换插件系统
CN113627010A (zh) * 2021-08-05 2021-11-09 浙江吉利控股集团有限公司 一种自适应实例化方法及自适应实例化系统
CN114926595A (zh) * 2022-07-21 2022-08-19 深圳小库科技有限公司 一种多格式三维模型的生成方法、装置、设备及存储介质
CN117725767A (zh) * 2024-02-18 2024-03-19 粤港澳大湾区数字经济研究院(福田) 参数化构件模型自动生成方法、插件、系统、终端及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150317413A1 (en) * 2014-05-01 2015-11-05 Fujitsu Limited Flexible cad format
CN105426527A (zh) * 2015-12-16 2016-03-23 北京吉威时代软件股份有限公司 一种信息化测绘生产装备集成过程中统一数据建模的方法
CN107424212A (zh) * 2017-07-31 2017-12-01 东风设计研究院有限公司 Dgrvt文件格式及基于该文件格式的数据集成系统和方法
CN110598259A (zh) * 2019-08-15 2019-12-20 杭州群核信息技术有限公司 一种基于参数化的2d铺贴设计方法、电子设备及存储介质
CN110705078A (zh) * 2019-09-25 2020-01-17 哈尔滨工程大学 一种核动力装置的仿真模型开发系统及分析方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101377796B (zh) * 2008-09-23 2010-07-14 武汉大学 一种基于过程恢复的异构cad系统间参数化特征模型的数据交换方法
CN102129718A (zh) * 2011-03-16 2011-07-20 西安电子科技大学 一种无失真的异构cad模型转换方法
CN103092594B (zh) * 2011-11-07 2016-01-20 金蝶软件(中国)有限公司 模型转换方法及装置
CN104392037B (zh) * 2014-11-18 2017-05-10 衢州学院 一种城市场景参数化建模系统
CN105975723B (zh) * 2016-05-27 2019-04-16 北京航空航天大学 一种用于航天器研制过程中异构cad模型的数据交换方法
CN106406906A (zh) * 2016-10-10 2017-02-15 云南大学 一种基于特定领域建模的模型驱动开发方法
US10515479B2 (en) * 2016-11-01 2019-12-24 Purdue Research Foundation Collaborative 3D modeling system
CN107992651A (zh) * 2017-11-20 2018-05-04 中铁第四勘察设计院集团有限公司 一种参数化二维成图方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150317413A1 (en) * 2014-05-01 2015-11-05 Fujitsu Limited Flexible cad format
CN105426527A (zh) * 2015-12-16 2016-03-23 北京吉威时代软件股份有限公司 一种信息化测绘生产装备集成过程中统一数据建模的方法
CN107424212A (zh) * 2017-07-31 2017-12-01 东风设计研究院有限公司 Dgrvt文件格式及基于该文件格式的数据集成系统和方法
CN110598259A (zh) * 2019-08-15 2019-12-20 杭州群核信息技术有限公司 一种基于参数化的2d铺贴设计方法、电子设备及存储介质
CN110705078A (zh) * 2019-09-25 2020-01-17 哈尔滨工程大学 一种核动力装置的仿真模型开发系统及分析方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113935087A (zh) * 2021-09-22 2022-01-14 深圳市和一广告装饰工程有限公司 一种装修方案分析方法及系统
CN113902877A (zh) * 2021-09-30 2022-01-07 中北大学 一种基于revit族图元模型互导的方法
CN113902877B (zh) * 2021-09-30 2024-05-17 中北大学 一种基于revit族图元模型互导的方法
WO2023103415A1 (zh) * 2021-12-09 2023-06-15 上海望友信息科技有限公司 元器件建模及参数化的方法、系统、电子设备及存储介质
CN115311429A (zh) * 2022-08-09 2022-11-08 北京飞渡科技有限公司 一种基于Revit的数据导出方法及系统
CN115062362A (zh) * 2022-08-11 2022-09-16 杭州片段网络科技有限公司 基于FreeCAD内核的纸盒刀版开发方法、装置及相关设备
CN115062362B (zh) * 2022-08-11 2022-11-08 杭州片段网络科技有限公司 基于FreeCAD内核的纸盒刀版开发方法、装置及相关设备
CN115291842A (zh) * 2022-08-24 2022-11-04 金航数码科技有限责任公司 一种cad结构件轻量化转换与在线浏览方法及系统
CN115291842B (zh) * 2022-08-24 2024-01-30 金航数码科技有限责任公司 一种cad结构件轻量化转换与在线浏览方法及系统

Also Published As

Publication number Publication date
CN111324965B (zh) 2023-04-21
CN111324965A (zh) 2020-06-23

Similar Documents

Publication Publication Date Title
WO2021174660A1 (zh) 一种基于云的通用参数化模型解析方法及设计系统
Fu et al. IFC model viewer to support nD model application
US5712964A (en) Computer graphics data display device and method based on a high-speed generation of a changed image
Faraj et al. An industry foundation classes Web-based collaborative construction computer environment: WISPER
Qin et al. A framework of web-based conceptual design
US20040024624A1 (en) Method and system for leveraging functional knowledge using a requirement and space planning tool in an engineering project
Ying et al. Generating second-level space boundaries from large-scale IFC-compliant building information models using multiple geometry representations
CN114491964A (zh) 一种可进行协同工作的数字孪生建模系统
US6925473B2 (en) Staged stylization in multiple tiers
Xu et al. Developing an extended IFC data schema and mesh generation framework for finite element modeling
Shengyi et al. Research on integrated application of virtual reality technology based on BIM
Liang A web-based 3D virtual technologies for developing product information framework
Zhang Development of 3D Modeling Parameter Design in Furniture Design
Penev Computer Graphics And Geometric Modelling–A Hybrid Approach
CN117708962B (zh) 一种基于Rhinoceros二三维一体化设计的方法及系统
Wu et al. Design and Implementation of an IFC Data Model to Unity Data Model Transformation Mechanism
Wang et al. Development of Fashion Design System Based on Virtual Reality Technology
Gao et al. Research on Parametric Component Library of Prefabricated Building Based on IFC Standard
Ren et al. Modeling of irregular structures for the construction simulation in virtual reality environments based on web
Kadarova et al. The use of programmes for the digitization of production clusters
Lipman Immersive virtual reality for steel structures
Li Development of Virtual Simulation Teaching System of Architectural Decoration Structure Based on WebGL Environment
Flotyński et al. Ontology-Based Creation of Extended Reality
CN117632215A (zh) 基于ipc技术既有软件新增并行引擎的升级方法
Sun Research on a fast method of building procedural modeling

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20923229

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20923229

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 11.07.2023)

122 Ep: pct application non-entry in european phase

Ref document number: 20923229

Country of ref document: EP

Kind code of ref document: A1