Editing BRL-CAD Primitives
From BRL-CAD
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
[[category:MGED| Primitives]] | [[category:MGED| Primitives]] | ||
− | + | These are primitive objects that can be created in mged. | |
− | + | Objects can be created in any of the following ways: (note: are there more? get? load from file?) | |
− | + | ;make : the mged make command creates the object with default dimensions | |
− | * | + | ;in : the mged in command interactively prompts for dimensions not already supplied as arguments |
− | + | ;form :the graphical primitive editor form (* some objects not fully supported) | |
+ | ;create : the graphical create menu | ||
− | + | When an object is selected from the create menu, you are prompted for a name, and then dropped into the primitive editor form; however, if the objec type has no form, create will do about the same as make. Some derivative objects do not have their own form, and the primitive editor will use the base object's form. Most parameters (including ones not editable from a form) have special items on the edit menu. | |
− | |||
− | ; | ||
− | + | See also [[A Survey of Implicit Constraints in Primitives]] | |
− | + | =Arbs= | |
+ | Objects with an arbitrary number of points and flat faces... | ||
+ | ==arb8== | ||
+ | Arbitrary straight-edged shape with 8 vertices. | ||
− | + | ;Handled by: make in form create | |
+ | ;Arguments: 8 Vertices in the following order: 1234 vertices for the front face, starting at bottom left, counterclockwise; then 5678 vertices for the rear face, starting at bottom left, counterclockwise. | ||
+ | ;Example: | ||
+ | in unitcube.s arb8 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 1 1 0 1 1 1 0 1 1 | ||
+ | creates the unit cube (first vertex at the origin, extends for 1 unit in x, y and z direction). | ||
− | + | == arb7 == | |
− | + | Special case of arb8, except with point 8 merged into point 5, making the left face triangular | |
− | + | ;Handled by: make in form(arb8) create | |
+ | == arb6 == | ||
+ | Arbitrary straight-edged shape with 6 vertices, special case of arb8. | ||
+ | ;Handled by: make in form(arb8) create | ||
+ | ;Arguments: 6 Vertices in the following order: 1234 vertices for the front face, starting at bottom left, counterclockwise; then back edge is 5 on bottom, 6 on top. Top and bottom faces are triangles. | ||
+ | ;Example: | ||
− | + | in arb6.s arb6 1 -1 -1 1 1 -1 1 1 1 1 -1 1 -1 0 -1 -1 0 1 | |
− | == | + | == arb5 == |
− | + | special case of arb8. | |
− | + | ;Handled by: make in form(arb8) create | |
− | + | == arb4 == | |
− | + | special case of arb8. | |
− | + | ;Handled by: make in form(arb8) create | |
− | + | == arbn == | |
− | + | Arbitrary solid bounded by N planes | |
− | + | ;Handled by: make in create | |
− | + | ;Arguments: | |
− | + | ;; Number of planes | |
− | + | ;; xyz direction vector and normal for each plane | |
− | |||
− | + | ;Example: | |
+ | in arbn.s arbn 8 1 0 1 1 -1 0 0 1 0 1 0 1 0 -1 0 1 0 0 1 1 0 0 -1 1 0.5 0.5 0.5 1 -0.5 -0.5 -0.5 1 | ||
− | + | ==box== | |
+ | Special case of arb8 | ||
+ | ;Handled by: in form(arb8) | ||
+ | ;Arguments: Vertex of first corner, direction vectors for height, width, and depth | ||
− | == | + | ==raw== |
+ | Right Angle Wedge, special case of arb6 | ||
+ | ;Handled by: in form(arb8) | ||
+ | ;Arguments: Vertex of first corner, direction vectors for height, width, and depth | ||
− | + | ==rpp== | |
− | + | Rectangular Parallelpiped, special case of arb8 | |
− | + | ;Handled by: make in form(arb8) create | |
− | + | ;Arguments: xmin xmax ymin ymax zmin zmax | |
=Ellipsoids= | =Ellipsoids= | ||
Line 91: | Line 108: | ||
Right circular cylinder, special case of tgc | Right circular cylinder, special case of tgc | ||
;Handled by: in make form(tgc) create | ;Handled by: in make form(tgc) create | ||
− | ;Arguments: vertex, | + | ;Arguments: vertex , |
− | |||
− | |||
− | |||
== rec == | == rec == | ||
Right elliptical cylinder, special case of tgc | Right elliptical cylinder, special case of tgc | ||
Line 130: | Line 144: | ||
;Handled by: in create | ;Handled by: in create | ||
;Arguments: data type (f|o), datasource, count of length and width, interpolation type, cut direction, cell size, unit elevation | ;Arguments: data type (f|o), datasource, count of length and width, interpolation type, cut direction, cell size, unit elevation | ||
− | |||
− | |||
==ebm== | ==ebm== | ||
Line 137: | Line 149: | ||
;Handled by: in form create | ;Handled by: in form create | ||
;Arguments: filename, width and height in cells, extrusion distance, | ;Arguments: filename, width and height in cells, extrusion distance, | ||
− | |||
− | |||
− | |||
The extruded bitmap (also referred to as EBM) is a solid based on a greyscale bitmap. The bitmap is an array of unsigned char values, see bw(5), and is extruded by some distance. The EBM solid requires the dimensions of the bitmap file (height and width in bytes), an extrusion length, and a transformation matrix to position the EBM. Each byte in the bitmap file is treated as the base of a cell that is extruded by the specified extrusion length. If the value of the byte is nonzero, then that cell is considered solid. | The extruded bitmap (also referred to as EBM) is a solid based on a greyscale bitmap. The bitmap is an array of unsigned char values, see bw(5), and is extruded by some distance. The EBM solid requires the dimensions of the bitmap file (height and width in bytes), an extrusion length, and a transformation matrix to position the EBM. Each byte in the bitmap file is treated as the base of a cell that is extruded by the specified extrusion length. If the value of the byte is nonzero, then that cell is considered solid. | ||
Line 215: | Line 224: | ||
− | == | + | ==nurb== |
− | + | Non-uniform rational b-spline | |
+ | ;Handled by: none? | ||
==spline== | ==spline== | ||
surface splines | surface splines | ||
− | ; | + | ;Handeld by: ? |
==vol== | ==vol== | ||
Line 232: | Line 242: | ||
;Handled by: in make create (not edit!) | ;Handled by: in make create (not edit!) | ||
;Arguments: number of verticies, number of triangles, mode (1=surface 2=solid 3=plate), triangle orientation mode (1=unoriented 2=counter-clockwise 3=clockwise), each vertex, vertex index of each triangle | ;Arguments: number of verticies, number of triangles, mode (1=surface 2=solid 3=plate), triangle orientation mode (1=unoriented 2=counter-clockwise 3=clockwise), each vertex, vertex index of each triangle | ||
− | |||
==poly== | ==poly== | ||
Line 244: | Line 253: | ||
;Handled by: make form(sketch editor) create | ;Handled by: make form(sketch editor) create | ||
;See also: [[sketch]] | ;See also: [[sketch]] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
==grip == | ==grip == | ||
Line 267: | Line 271: | ||
;Handled by: in create (not edit!) | ;Handled by: in create (not edit!) | ||
;Arguments: minor type (fdcsiLCSIL), data file, number of values | ;Arguments: minor type (fdcsiLCSIL), data file, number of values | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |