Share

Primitive

[Desktop Automation]

This object contains a primitive generator of the type that was specified during its generation from a primitivelist object.

Properties

Property Read/write Type Description
settingcount read-only Number Number of settings of this primitive generator
(setting name) read/write Number or String Read and write any setting, or parameter, by the specified name. The list of available settings depends on the primitive generator.

Back to top

Methods

Name Syntax Description
generatemesh primitive:generatemesh() Generates and returns a mesh object.
getsettingname primitive:getsettingname(index:number) Get setting name at given index. Returns a string.
getsettingvalue primitive:getsettingvalue(index:number) Get value of setting at given index. Return type depends on the type of the setting.
setsettingvalue primitive:setsettingvalue(index:number; value:number or string) Set value of setting at given index. Type of value must match the type of the setting.
setsettingvaluebyname Primitive:setsettingvaluebyname(key: string; value:number or string) Set the value of a setting with the given name. Type of value must match the type of the setting. key is case-sensitive.

Back to top

Examples

List available primitive generators and their parameters

This example generates a text file containing a list of primitive generators with their respective parameters and default values.

myprimlist = system:createprimitivelist()
mytext = system:createtextfile()

for i=0, myprimlist.count-1, 1 do
  local mylistitem = myprimlist:getname(i)

  mytext:writeline(mylistitem)

  local myprim = myprimlist:createprimitivebyindex(i)

  for j=0, myprim.settingcount-1, 1 do
    local mysettingitem = myprim:getsettingname(j)
    local mysettingvalue = myprim:getsettingvalue(j)
    mytext:writeline("- " .. mysettingitem .. " " .. mysettingvalue)
  end

  mytext:writeline("")
end

mytext:savetofile("C:\\primlist.txt")

Excerpt:

box
- name Box
- color 8421504
- sizex 100
- sizey 100
- sizez 100
- boxtype 0
- wallthickness 10
- trianglelength 50

Back to top

Use a primitive generator to put a new part on the platform

myprimlist = system:createprimitivelist() -- always required
mytextprim = myprimlist:createprimitive('text')

mytextprim:setsettingvaluebyname('font','Century')
mymesh = mytextprim:generatemesh()
tray.root:addmesh(mymesh)

Back to top

Was this information helpful?