US Pat. No. 9,230,364

ZEBRA LIGHTS

Autodesk, Inc., San Rafa...

1. A method performed by one or more computers, the method comprising:
establishing a three dimensional (3D) scene, the 3D scene including:
a 3D object including at least one surface;
a camera facing the 3D object and oriented to a perspective; and
a light source;
determining a stripe function using a stripe density and a stripe width, wherein the stripe function specifies alternating
high and low intensities for various angles between a surface normal and the light source;

rendering an image of the object from the perspective of the camera, including, for each pixel of a plurality of pixels of
the image:

determining a point on the surface of the object corresponding to the pixel;
determining an angle between a surface normal at the point and a line between the point and the light source;
determining a zebra light color for displaying the pixel using the stripe function and the angle, comprising determining an
intensity value of the zebra light color specified by the stripe function at the angle, wherein a particular intensity value
of a particular zebra light color for a particular stripe varies as a function of the angle; and

determining a blended pixel color for displaying the pixel by blending a material color for the point with the zebra light
color.

US Pat. No. 9,262,005

MULTI-TOUCH INTEGRATED DESKTOP ENVIRONMENT

AUTODESK, Inc., San Rafa...

1. A computer-implemented method for configuring a multi-touch display device to display an enhanced task bar, the method
comprising:
detecting the presence of one or more physical input devices on a multi-touch display device that forms a desktop surface;
in response to detecting the presence of the one or more physical input devices, defining a region within the multi-touch
display device proximate to the one or more physical input devices for displaying an enhanced task bar;

generating one or more user interface elements that are disposed within the enhanced task bar, wherein each user interface
element is configured to control a different application window displayed on a first display device;

displaying the enhanced task bar in the region of the multi-touch display device;
detecting multi-touch input associated with a first user interface element included in the one or more user interface elements
and disposed within the enhanced task bar; and

adjusting a first application window displayed on the first display device based on the multi-touch input.

US Pat. No. 9,381,431

PROPERTY ALTERATION OF A THREE DIMENSIONAL STEREOSCOPIC SYSTEM

AUTODESK, Inc., San Rafa...

1. A method for altering a property associated with a three dimensional stereoscopic system that has a display, the method
comprising:
determining that one or more threshold distances included in a plurality of threshold distances have moved relative to a virtual
object, wherein the one or more threshold distances define a region that includes a predetermined position;

determining that a portion of a virtual object in a three dimensional image generated by the display resides at the predetermined
position along a first axis relative to the display based on a difference between a left eye image of the portion of the virtual
object and a right eye image of the portion of the virtual object, wherein the first axis is perpendicular to a plane of the
display; and

altering a property associated with the portion of the virtual object based on the predetermined position without referring
to any overlap between a perceived position of the virtual object and an actual position of an object situated in a tangible
environment in which the display is situated.

US Pat. No. 9,196,085

INTERACTIVELY SHAPING TERRAIN THROUGH COMPOSABLE OPERATIONS

Autodesk, Inc., San Rafa...

1. A computer implemented method for shaping a terrain comprising:
(a) establishing, in a computer-aided design (CAD) building information modeling (BIM) application, an associative framework
dependency graph used to control the shaping of the terrain, wherein the associative framework dependency graph defines an
association between two or more nodes and a processing order for processing the two or more nodes, wherein the establishing
comprises:

(i) defining, from one of the two or more nodes, one or more input nodes in the associative framework dependency graph, wherein
one or more input nodes represent a drawing entity or a set of one or more geometric parameters;

(ii) defining, from one of the two or more nodes, an action node in the associative framework dependency graph, wherein:
(1) the action node is dependent on the one or more input nodes;
(2) the one or more input nodes are used as input to the action node;
(3) the action node performs an evaluation and produces an output object;
(b) displaying a graphic representation of the associative framework dependency graph comprising the one or more input nodes,
the action node, and one or more lines representing relationships between the one or more input nodes and the action node;

(c) evaluating the associative framework dependency graph by evaluating the action node in accordance with the processing
order, wherein the evaluating produces a finished ground terrain;

(d) modifying one or more of the one or more geometric parameters;
(e) notifying the action node, that is dependent on the one or more input nodes, of the modifying; and
(f) in response to the notifying, dynamically evaluating the action node, in accordance with the processing order, to produce
an updated output object.

US Pat. No. 9,298,477

WIZARD NAVIGATION LIST

AUTODESK, Inc., San Rafa...

1. A method of presenting a user with an application wizard configured to assist the user in performing a particular task
in a software application by guiding the user through a sequence of steps, the method comprising:
presenting to the user a navigation list that includes a plurality of links, wherein each link corresponds to a different
step in the sequence of steps, wherein each different step is included in the application wizard, each link accesses a dialog
screen associated with the different step corresponding to the link, and wherein the navigation list displays parameter value
settings associated with the different steps included in the application wizard;

presenting to a user a first dialog screen corresponding to a first step included in the application wizard;
receiving an indication of a selected link included in the plurality of links;
replacing the presentation of the first dialog screen with a second dialog screen corresponding to the selected link, wherein
the second dialog screen corresponds to a second step, and the first step and the second step are out-of-order in the sequence
of steps; and

performing the particular task based on the parameter value settings associated with each of the different steps included
in the application wizard.

US Pat. No. 9,230,369

DYNAMIC OBSTACLE AVOIDANCE FOR CROWD SIMULATION USING LANE COORDINATES

AUTODESK, INC., San Rafa...

1. A computer-implemented method for avoiding collisions between a plurality of objects traversing a multi-lane path included
in an animation, the method comprising:
assigning a different lane coordinate to each object in the plurality of objects, wherein the lane coordinate assigned to
a first object identifies a first lane of the multi-lane path and a location on the first lane that the first object currently
occupies;

identifying a set of neighboring objects associated with the first object traversing the first lane, wherein each neighboring
object in the set of neighboring objects traverses a particular lane of the multi-lane path and is within a pre-determined
distance of the first object;

computing, via a processor, a different collision relationship between the first object and each neighboring object in the
set of neighboring objects based on a speed of the first object and a speed of the neighboring object, wherein the collision
relationship between the first object and a particular neighboring object indicates whether the first object is projected
to collide with the particular neighboring object;

determining, based on a first collision relationship between the first object and a first neighboring object in the set of
neighboring objects, that the first object is projected to collide with the first neighboring object; and

performing a collision avoidance operation to prevent the first object from colliding with the first neighboring object.

US Pat. No. 9,330,501

SYSTEMS AND METHODS FOR AUGMENTING PANORAMIC IMAGE DATA WITH PERFORMANCE RELATED DATA FOR A BUILDING

AUTODESK, Inc., San Rafa...

1. A method for augmenting panoramic images with performance related data for a building, the method comprising:
receiving panoramic image data for a spherical panoramic image, the panoramic image data comprising color information and
metadata for each pixel in the spherical panoramic image;

generating a digital image comprising a two-dimensional (2D) projection plane based on at least a portion of the spherical
panoramic image; and

modifying the digital image to include a graphical representation of performance related data based on the metadata included
in the panoramic image data.

US Pat. No. 9,147,277

SYSTEMS AND METHODS FOR PORTABLE ANIMATION RIGS

AUTODESK, INC., San Rafa...

1. A computer-implemented method for reproducing a behavioral component of an animation asset, the method comprising:
loading virtual machine instructions comprising an executable representation that includes an animation rig from a transport
file into a memory for execution by a first runtime engine, wherein the animation rig describes how movable components included
in geometric object data move to simulate actions and includes a function curve block configured to generate state information
of the geometric object data based on an evaluation function and a value array that stores coefficients for the evaluation
function;

loading the geometric object data from the transport file into the memory for manipulation when the executable representation
is executed; and

executing the executable representation to manipulate the geometric object data.

US Pat. No. 9,471,996

METHOD FOR CREATING GRAPHICAL MATERIALS FOR UNIVERSAL RENDERING FRAMEWORK

AUTODESK, Inc., San Rafa...

1. A method for creating materials applied to geometry within a graphics scene when rendering the graphics scene using a first
rendering engine, comprising:
loading a materials library that includes a definition for each material in a plurality of materials, wherein the definition
for each of the materials includes a set of strongly-typed parameters representing appearance characteristics of a material
and specifies one or more rendering implementations associated with the material, wherein each rendering implementation is
configured to translate the strongly-typed parameters associated with a particular material into a first rendering format
compatible with the first rendering engine, and wherein the first rendering engine is configured to support at least two rendering
formats, and a speed associated with the first rendering format is faster than a speed associated with a second rendering
format;

receiving a selection of a first material from the materials library;
receiving a modification to the definition of the first material; and
storing the modified first material in the materials library, in addition to the first material.

US Pat. No. 9,292,972

OCCUPANT CENTRIC CAPTURE AND VISUALIZATION OF BUILDING PERFORMANCE DATA

AUTODESK, Inc., San Rafa...

1. A computer implemented method of 3-D visualization of a building module and building related data, comprising:
receiving attributes of a plurality of building modules from a building information model;
receiving data inputs from a plurality of sensors located in a selected building module included in the plurality of building
modules;

determining a location of at least one sensor included in the plurality of sensors by receiving, from the building information
model, X, Y, and Z coordinates of the sensor;

determining that at least one sensor included in the plurality of sensors has failed;
in response to determining that the least one sensor has failed, interpolating or extrapolating the data inputs associated
with one or more other sensors included in the plurality of sensors to generate simulated data points;

calculating the building related data for the selected building module based on the data inputs, the simulated data points,
and the X, Y, and Z coordinates of the sensor, wherein the building related data is calculated by applying a gradient shading
technique to determine, from a 3-D scalar field of data points corresponding to at least the data inputs from the sensors,
colors used to shade points on one or more surfaces of the selected building module; and

generating the 3-D visualization of the selected building module based on the attributes and the building related data of
the selected building module for display on a computer screen.

US Pat. No. 9,235,661

CONFIGURABLE BUSINESS RULES

Autodesk, Inc., San Rafa...

1. A computer-implemented method, the method comprising:
providing a graphical user interface configured to present a view of a computer model of a network, wherein the model of the
network includes a plurality of elements that represent physical objects in the network and wherein each of the elements is
associated with one or more rule points;

receiving user input selecting a rule point for an element presented in the view, wherein the rule point comprises a plurality
of predefined conditions which are disabled by default;

accepting user input specifying programming logic to be associated with first predefined condition of the plurality of predefined
conditions of the selected rule point, the programming logic having been entered into a graphical user interface configured
to present an interactive template of the first predefined condition;

enabling the first predefined condition based on the accepting; and
validating the model by simulating operation of the network wherein validating includes executing user-specified programming
logic associated with predefined conditions of one or more of the elements including the user-specified programming logic
associated with the first predefined condition.

US Pat. No. 9,128,537

BIMANUAL INTERACTIONS ON DIGITAL PAPER USING A PEN AND A SPATIALLY-AWARE MOBILE PROJECTOR

AUTODESK, INC., San Rafa...

1. A computer-implemented method for configuring a spatially-aware projector to output a projected image, the method comprising:
receiving a first position of the spatially-aware projector relative to a display surface, wherein the first position is received
from a first position tracking mechanism included within the spatially-aware projector;

retrieving design data from a memory, wherein the design data is associated with the first position;
generating a projected image based on the design data for display on the display surface;
receiving drawing input from a spatially-aware digital pen detected on the display surface, wherein the drawing input is received
via a second position tracking mechanism included within the spatially-aware digital pen and is associated with more than
one point on the drawing surface;

analyzing the drawing input relative to the projected image; and
updating the design data based on the drawing input.

US Pat. No. 9,396,545

SEGMENTATION OF GROUND-BASED LASER SCANNING POINTS FROM URBAN ENVIRONMENT

Autodesk, Inc., San Rafa...

1. A computer-implemented method for providing object descriptors for objects in point cloud data for an urban environment
by segmenting the point cloud data in a computer that is programmed to perform:
obtaining, using a ground-based laser scanner, the point cloud data, wherein the point cloud data is for the urban environment;
in a pre-process phase, filtering out, in the computer, terrain points from the point cloud data using ground filtering;
after the pre-process phase, segmenting, in the computer, the point cloud data into two or more blocks;
combining, in the computer, objects that lie on neighboring adjacent blocks of the two or more blocks based on cell continuity;
providing, in the computer, object descriptors for the combined objects;
utilizing, in the computer, the object descriptors to process the point cloud data, and facilitate and output a scene interpretation
of the urban environment.

US Pat. No. 9,305,355

PHOTOGRAPH LOCALIZATION IN A THREE-DIMENSIONAL MODEL

AUTODESK, INC., San Rafa...

1. A method for determining a location within a structure depicted by a first image, the method comprising:
identifying one or more features in the first image;
rendering, via a virtual camera, a second image of at least one location in a three-dimensional (3D) representation of the
structure;

matching, via a processor, the identified features in the image with one or more features in the second image of the 3D representation
of the structure; and

estimating a location in the structure depicted by the image based upon the matching features identified in the 3D representation.

US Pat. No. 9,305,389

REDUCING SEAM ARTIFACTS WHEN APPLYING A TEXTURE TO A THREE-DIMENSIONAL (3D) MODEL

AUTODESK, Inc., San Rafa...

1. A computer-implemented method for reducing seams in an image generated when applying a texture to a three-dimensional (3D)
model, the method comprising:
receiving a first UV set associated with the 3D model via a processor, wherein the first UV set includes non-overlapping UV
pieces providing a first two-dimensional (2D) representation of the 3D model;

augmenting an existing UV set that includes the first UV set to generate an augmented UV set, via the processor, by expanding
at least a first existing UV piece included in the first UV set in every direction that is not constrained by boundaries of
the 3D model to create an augmented UV piece, wherein the augmented UV piece overlaps a seam on the 3D model abutting the
first existing UV piece and an adjacent UV piece; and

applying the augmented UV set to the 3D model during a rendering operation to generate a rendered 2D image of the 3D model.

US Pat. No. 9,171,399

SHADOW RENDERING IN A 3D SCENE BASED ON PHYSICAL LIGHT SOURCES

Autodesk, Inc., San Rafa...

1. A computer-implemented method for rendering a shadow comprising:
obtaining, in a computer, a three-dimensional (3D) scene comprising an object;
detecting, via a sensor, an external physical light source that is external to the 3D scene;
creating, in the computer, an artificial light source in the 3D scene that corresponds to the external physical light source;
based on the artificial light source, casting, in the computer, a shadow of the object; and
rendering, via the computer, the 3D scene including the object and the shadow, wherein:
the rendering comprises a stereoscopic projection;
the object and the shadow are rendered in stereoscopic mode; and
the shadow simulates a real shadow that would be cast by the external physical light source.

US Pat. No. 9,123,151

EXCHANGING DATA BETWEEN VERTEX SHADERS AND FRAGMENT SHADERS ON A GRAPHICS PROCESSING UNIT

AUTODESK, INC., San Rafa...

1. A non-transitory computer-readable medium storing instructions that, when executed by a processor, cause the processor
to implement:
a vertex shader having an output for providing output data generated for a vertex in a mesh; and
a fragment shader having an input for receiving input data corresponding to the output data from the vertex shader, wherein
the fragment shader can determine, based on the input data, original values associated with each vertex prior to the vertex
being processed by the vertex shader, each vertex defining a primitive that contains a fragment being processed by the fragment
shader.

US Pat. No. 9,355,475

SYSTEMS AND METHODS FOR TEMPORALLY REPROJECTING REFLECTION DATA

Autodesk, Inc., San Rafa...

1. A non-transitory computer readable media storing computer executable program instructions, the program instructions including
instructions executable to cause one or more processors to perform operations comprising:
responsive to identifying an object and a reflection surface, wherein the reflection surface reflects an image of the object
to a view point:

identifying a reflection incidence point on a current position of the reflection surface and being associated with a point
on the object being reflected to the view point;

identifying a first surface motion vector associated with the reflection incidence point; and
reprojecting the reflection incidence point using the first surface motion vector to determine a previous reflection incidence
point associated with the point on the object, wherein the previous reflection incidence point is a reflection incidence point
on a previous position of the reflection surface and being associated with the point on the object being reflected to the
view point;

identifying a second motion vector corresponding to a reflected point wherein the reflected point is a reflection of the object
in accordance with the current position of the reflection surface;

reprojecting the reflected point using the second motion vector to determine a previous location of the reflected point on
the previous position of the reflection surface;

projecting a current view point onto the previous position of the reflection surface to produce a previous view point;
determining a presentation of the previous location of the reflected point on the previous position of the reflection surface;
and

presenting to a user the presentation of the previous location of the reflected point.

US Pat. No. 9,208,264

METHOD FOR SEMI-AUTOMATIC QUANTITY TAKEOFF FROM COMPUTER AIDED DESIGN DRAWINGS

AUTODESK, Inc., San Rafa...

1. A method for generating cost estimates from a computer-aided design (CAD) drawing that represents a design project, the
method comprising:
receiving a selection of an instance of a drawing object in the CAD drawing;
generating, for the selected drawing object, a takeoff object, wherein the takeoff object is configured to store a quantify
type, a quantify property, and cost data used to generate a cost estimate for the design project based on instances of the
selected drawing object in the CAD drawing;

receiving values for each of the quantify type, the quantify property, and the cost data;
receiving a selection of a takeoff category to be associated with the takeoff object, wherein the takeoff category is associated
with one or more additional takeoff objects according to data stored in a database;

parsing the CAD drawing to identify a total number of instances of the selected drawing object, the CAD drawing comprising
a plurality of different types of drawing objects, each type of drawing object identified by a different object globally unique
identifier (GUID), the selected drawing object being identified by a first object GUID for a first type of drawing object,
and wherein parsing comprises determining a total number of instances of drawing objects in the CAD drawing having an object
GUID matching the first object GUID;

quantifying, based on the values for the quantify type and the quantify property, a takeoff quantity for the identified instances
of the selected drawing object;

computing, from the takeoff quantity and the cost data, a cost estimate for the instances of the selected drawing object;
storing the values for the quantify type, the quantify property, and the cost data in the takeoff object; and
generating a hierarchical takeoff report based on the takeoff object, wherein the hierarchical takeoff report displays, as
sub-elements to the takeoff category, the values for the quantify type, the quantify property, the cost data and the cost
estimate for each of the identified instances of the selected drawing object.

US Pat. No. 9,195,301

THREE DIMENSIONAL VOLUMETRIC DISPLAY INPUT AND OUTPUT CONFIGURATIONS

AUTODESK, INC., San Rafa...

1. A system, comprising:
a three-dimensional (3D) volumetric display output configuration having a display content; and
an input configuration coupled to the volumetric display output configuration comprising a sensing grid for receiving a user
input from an input device, the input device comprising a position sensor that produces a vector indicating a position of
the input device and a direction that the input device is pointing, the input configuration further comprising a mounting
platform that houses the input device for making the input device rotatable around the volumetric display output configuration,
the position of the input device providing information about a user's position or viewpoint; and

a computer device coupled to the input configuration and the volumetric display output configuration, the computer device
for:

receiving the vector from the input device;
inferring an input vector based on the position of the input device and a center of the volumetric display output configuration;
and

mapping the user input to a position within the volumetric display output configuration using the input vector, the user input
being visually represented by a position indicator that is superimposed onto the volumetric display output configuration.

US Pat. No. 9,153,052

GRAPHICS PROCESSING METHOD AND SYSTEM

AUTODESK, INC., San Rafa...

1. A method of performing a flood fill operation on an image given a seed point, the method comprising:
determining, using a computer having a processor, whether to flood fill a candidate point of the image based on a color of
the candidate point, a color of the seed point, and a color of a neighbor point of the candidate point, the determining being
based on a color distance between the neighbor point and the seed point, and a color distance between the candidate point
and the seed point, wherein the color distance between the candidate point and the seed point is determined by multiplying
the smaller of their respective alpha values by a color distance determined based on their respective color channels,

weighting fill contribution of the candidate point determined to be flood filled according to the color distance between the
candidate point and the seed point, and

for each point in a gap between two corners surrounding pixels of a fill set, setting an opacity value proportional to contribution
to the gap by a first area closest to the fill set and a second area opposite the first area as defined by an imaginary line
connecting the corners.

US Pat. No. 9,063,925

SYSTEM AND METHOD FOR RECOMMENDING NEXT COMMANDS WHEN USING A SOFTWARE APPLICATION

AUTODESK, INC., San Rafa...

1. A computer-implemented method for processing command use data received from a client computer to update frequency information
in a frequency table stored in a community-frequency store, the method comprising:
receiving from the client computer a first set of command use data associated with a first command executed within an application
on the client computer, wherein the first set of command use data includes a design context associated with the session that
reflects a particular workflow of actions or operations performed by the user when operating the application;

storing the first set of command use data in a command use table included in a command-use database;
identifying a second set of command use data stored in the command use table related to the first set of command use data
and associated with a second command executed within the application prior to when the first command was executed within the
application, wherein the second command comprises a command from an expert;

determining a command execution sequence based on the first set of command use data and the second set of command use data
that indicates the order in which the first command and the second command were executed within the application; and

incrementing frequency information included in a first record within the frequency table that is associated with the first
command based on the command execution sequence, wherein the frequency information indicates how many times the second command
was executed within the application prior to when the first command was executed within the application.

US Pat. No. 9,405,404

MULTI-TOUCH MARKING MENUS AND DIRECTIONAL CHORDING GESTURES

AUTODESK, INC., San Rafa...

1. A method for interacting with a multi-touch surface to perform an operation, the method comprising:
determining that five fingers are in contact with the multi-touch surface;
detecting that one or more of the five fingers have been lifted away from the multi-touch surface;
after the one or more of the five fingers have been lifted away from the multi-touch surface, determining that at least one
finger of the five fingers is remaining in contact with the multi-touch surface;

identifying a first chord that corresponds to the one or more of the five fingers being lifted away from the multi-touch surface
and the at least one finger remaining in contact with the multi-touch surface;

in response to identifying the first chord, performing a first operation associated with the first chord.

US Pat. No. 9,223,906

GENERATING THERMAL ZONES

Autodesk, Inc., San Rafa...

1. A method performed by data processing apparatus, the method comprising:
identifying a perimeter zone for a first portion of a conceptual representation of a building; and
dividing the perimeter zone into a plurality of thermal zones, comprising:
determining a plurality of first candidate thermal zones based at least in part on a maximum thermal zone angle threshold
that each of the first candidate thermal zones satisfy,

determining a plurality of second candidate thermal zones based at least in part on a maximum thermal zone length threshold
that each of the second candidate thermal zones satisfy, and

selecting a plurality of thermal zones from the first candidate thermal zones and the second candidate thermal zones.

US Pat. No. 9,189,862

OUTLINE APPROXIMATION FOR POINT CLOUD OF BUILDING

Autodesk, Inc., San Rafa...

1. A computer-implemented method for modeling a polyline boundary from point cloud data, comprising:
obtaining, into a memory of a computer, the point cloud data;
extracting, using a processor in the computer, one or more boundary cells from the point cloud data;
filtering, using the processor in the computer, one or more potential boundary points from the one or more boundary cells;
extracting, using the processor in the computer, one or more line segments from the one or more potential boundary points;
refining, using the processor in the computer, the one or more line segments;
obtaining, using the processor in the computer, a regularized polygon by intersecting the one or more refined line segments;
and

utilizing, using the processor in the computer, the regularized polygon to reconstruct a building in a building information
model.

US Pat. No. 9,177,422

METHOD FOR GENERATING REGULAR ELEMENTS IN A COMPUTER-AIDED DESIGN DRAWING

AUTODESK, INC., San Rafa...

1. A computerized method for automatically generating supporting structures for architectures using a graphical drawing computer
program, comprising the steps of:
displaying a graphical representation of a data object associated with an architecture that requires structural support by
supporting structures;

receiving a selection from a user of one of a plurality of supporting structure types;
generating a layout for the architecture that comprises a plurality of the selected supporting structure type arranged in
a formation that is based upon both a position of an input device of the user within the graphical representation of the data
object and a plurality of configurable properties relating to the selected supporting structure type;

automatically overlaying a graphical preview of the generated layout on the graphical representation of the data object, wherein
the graphical preview indicates which of the configurable properties included in the plurality of configurable properties
are selected, and wherein the graphical preview does not occlude the graphical representation of the data object;

receiving an update from the user indicating which properties included in the plurality of configurable properties are selected
while the graphical representation of the data object and the graphical preview that is overlaid on the graphical representation
of the data object are displayed; and

updating the graphical representation of the data object and graphical preview that is overlaid on the graphical representation
of the data object based upon both a position of the input device of the user within the graphical representation of the data
object and the update received from the user.

US Pat. No. 9,135,750

TECHNIQUE FOR FILLING HOLES IN A THREE-DIMENSIONAL MODEL

AUTODESK, INC., San Rafa...

1. A computer-implemented method for filling a hole in a three-dimensional (3D) model, the method comprising:
generating a refined quasi-developable surface that is disposed within the hole in the 3D model;
generating a two-dimensional (2D) surface based on the refined quasi-developable surface; and
deforming the 2D surface into a 3D surface that fills the hole in the 3D model.

US Pat. No. 9,122,367

NAVIGATION SYSTEM FOR A 3D VIRTUAL SCENE

AUTODESK, INC., San Rafa...

1. A method, comprising:
determining whether an operation being performed by a three-dimensional (3D) model navigational tool while navigating a 3D
scene requires one or more intermediate waypoints, wherein each waypoint comprises a camera view position, a camera orientation,
and a thumbnail image of the 3D scene based on the camera view position and the camera orientation;

if the operation requires one or more intermediate waypoints, then:
determining that a threshold period of time has elapsed since last adding to a rewind history, and
generating a new waypoint as an intermediate waypoint by adding state information associated with a current view of the 3D
scene to the rewind history and generating a new thumbnail image associated with the current view; and

if the operation does not require one or more intermediate waypoints, then:
waiting for an end of the operation, and
generating a new waypoint that is associated with a view of the 3D scene at the end of the operation.

US Pat. No. 9,424,371

CLICK TO ACCEPT AS BUILT MODELING

Autodesk, Inc., San Rafa...

1. A computer-implemented method for augmenting an as-built model comprising:
(a) obtaining, in a first computer, a computer-aided design (CAD) drawing of a project;
(b) receiving, in the first computer from a second computer, a digital representation of a physical implementation of the
project;

(c) defining, in the first computer, a relationship that maps the digital representation to the CAD drawing;
(d) identifying, in the first computer, a component of the digital representation based on the relationship, wherein the identifying
comprises a feedback loop that is performed until a specific CAD component is identified, the feedback loop comprising:

(1) referencing a content catalog to determine two or more component options for selection by a user;
(2) the transmitting transmits the tow or more component options to the second computer; and
(3) the second computer is configured to receive input from the user identifying which of the two or more component options
more closely resembles the component;

(4) repeating the above feedback loop steps progressively narrowing the two or more component options until the specific CAD
component is identified; and

(e) receiving, in the first computer, the identification of the specific CAD component identified from the second computer;
(f) updating, in the first computer, the CAD drawing based on the identification; and
(g) transmitting, from the first computer to the second computer, information about the identified component, wherein the
second computer is configured to display the information.

US Pat. No. 9,317,965

UNIFORM POINT CLOUD DECIMATION

Autodesk, Inc., San Rafa...

1. A computer implemented method for creating a point cloud indexed file comprising:
(a) mapping, in a computer, a grid over one or more points in a point cloud dataset, wherein:
(i) the grid comprises one or more cells; and
(ii) each of the one or more cells is divided into one or more subcells;
(b) computing an occupancy value for each of the one or more subcells, wherein the occupancy value comprises a bit that indicates
a subcell is occupied if the subcell contains at least one of the one or more points;

(c) computing a surface area contribution factor for each of the one or more cells, wherein the surface area contribution
factor comprises an occupied count of subcells in each cell that are occupied divided by a total subcell number of the one
or more subcells in that cell; and

(d) writing the surface area contribution factor for each of the one or more cells and one or more of the one or more points
to the point cloud indexed file in a random order.

US Pat. No. 9,244,651

DOCUMENT REVISION CONTROL

AUTODESK, INC., San Rafa...

1. A method for managing document revisions, comprising:
receiving a request to access a parent file stored on a server, wherein the parent file is associated with one or more child
files;

determining whether a first option is enabled that is associated with selecting a latest version or latest revision of a child
file, wherein a version of a file corresponds to an iteration of the file and includes mete-data that is created when a modification
of the file is saved to the server, and wherein a revision of a file comprises a plurality of versions of the file having
a common label representing work performed to complete a change to the file that requires multiple modifications;

determining whether a second option is enabled, wherein the second option is associated with selecting a released version
or released revision of a child file; and

for each child file, providing access to a version or revision of the child file based on whether the first option is enabled
and whether the second option is enabled.

US Pat. No. 9,081,480

MULTIPLE MENUS FOR USE WITH A GRAPHICAL USER INTERFACE

AUTODESK, Inc., San Rafa...

1. A computer-implemented method for allowing a user to select a particular menu item, the method comprising:
receiving a request from the user for a menu panel, wherein:
the request is not associated with the user selecting any menu objects that are displayed on a display unit at the time of
the request;

the menu panel containing a vertex oriented in relation to a cursor;
the menu panel comprises two or more selection regions adjacent to the vertex; and
each of the two or more selection regions is associated with a different base menu, wherein each base menu includes a plurality
of menu items and is identified by a menu title, and wherein none of the base menus can be accessed from another menu;

displaying at least a first of the base menus to the user based upon the location of the cursor with respect to the vertex,
wherein one menu item from among the plurality of menu items is highlighted to differentiate the one menu item from the other
menu items of the plurality of menu items;

while displaying the at least first base menu to the user, receiving input from the user, wherein the input indicates that
the user wants to select the one menu item, and wherein the input from the user is not received in response to the user selecting
the menu item that is highlighted in the display of the at least first base menu and does not cause the menu title to change;
and

causing the one menu item to be executed.

US Pat. No. 9,430,588

ASSEMBLY CONNECTION METHOD FOR ATTACHING VIRTUAL PARTS IN A COMPUTER AIDED DESIGN SOFTWARE ENVIRONMENT

Autodesk, Inc., San Rafa...

1. A method comprising:
identifying, using a computing device, an assembly comprising a plurality of parts, wherein each of the parts is associated
with a respective shape definition and a respective orientation in the assembly, wherein the assembly includes a first set
of parts and a second different set of parts and wherein the second set of parts includes parts that are connected to either
each other or another part in the first set of parts by a rigid connection;

receiving user input connecting each of a plurality of different pairs of the parts from the first set of parts using a respective
moveable connection wherein the respective connection specifies a rotating or a sliding connection between the respective
parts of the pair based on the respective orientations of the respective parts, and wherein the connection specifies one or
two respective degrees of freedom of movement of the respective parts relative to each other, wherein each respective degree
of freedom is associated with a set of valid positions for the respective parts for the respective degree of freedom;

for one or more parts in the second set of parts that are connected directly or indirectly by a rigid connection to a respective
part of the first set of parts, identifying rigid connections along a respective part such that the respective part and the
other parts cannot move relative to each other based on sets of valid positions for the respective part and the other parts,
wherein the respective part and the other parts form a rigid body subset of one or more rigid body subsets;

resolving constraints for the assembly including resolving constraints for one or more parts having moveable connections and
not resolving constraints for one or more parts having rigid connections, wherein resolving constraints comprises identifying
a set of new orientations that conform to the constraints;

and displaying at least one of the new orientations that conform to the constraints.

US Pat. No. 9,092,909

MATCHING A SYSTEM CALCULATION SCALE TO A PHYSICAL OBJECT SCALE

Autodesk, Inc., San Rafa...

1. A computer-implemented method for scaling a diagram comprising:
selecting an image on a thin client device;
utilizing the image as a background image;
obtaining a free body diagram on the thin client device, wherein the free body diagram comprises full geometry that is displayed
with the background image, wherein the full geometry comprises a first geometry and remaining second geometry;

selecting the first geometry on the thin client device;
specifying a reference length for the selected first geometry on the thin client device; and
scaling the remaining second geometry in the diagram based on the specified reference length.

US Pat. No. 9,069,635

PROCESS FOR COMPRESSING APPLICATION DEPLOYMENTS

Autodesk, Inc., San Rafa...

1. A computer-implemented method for compressing an application deployment, comprising:
obtaining a master application to be deployed, wherein the master application comprises two or more files;
inventorying the two or more files in the master application;
identifying a first file instance and a second file instance from the two or more files, wherein the first file instance and
the second file instance are identical; and

writing an application deployment based on the master application, wherein the application deployment comprises the first
file instance and a link to the first file instance instead of the second file instance.

US Pat. No. 9,342,901

MATERIAL DATA PROCESSING PIPELINE

AUTODESK, Inc., San Rafa...

1. A method for generating a shader that is used by a rendering engine to render a visual representation of a computer model,
the method comprising:
receiving a set of surface data that describes a surface in view of various lighting conditions;
compressing the set of surface data to generate a compressed representation of the set of surface data based on a selected
compression algorithm;

selecting a rendering engine;
generating a shader based on the rendering engine, the selected compression algorithm, and the compressed representation of
the set of surface data; and

generating a set of shader data, via the shader, based on the compressed representation, wherein the shader data includes
a set of material characteristics for coloring pixels of the visual representation.

US Pat. No. 9,325,960

MAINTENANCE OF THREE DIMENSIONAL STEREOSCOPIC EFFECT THROUGH COMPENSATION FOR PARALLAX SETTING

AUTODESK, Inc., San Rafa...

1. A method of maintaining a three dimensional stereoscopic effect, the method comprising:
determining a distance between a position of a virtual camera and a first center of interest within a three dimensional image;
calculating a scaling factor s based on the distance; and
compensating for a parallax setting associated with a second center of interest within the three dimensional image by applying
the scaling factor when generating the three dimensional image to maintain the three dimensional stereoscopic effect,

wherein applying the scaling factor comprises applying a global transformation matrix S that is based on the scaling factor,
wherein the transformation matrix is expressed as:


US Pat. No. 9,305,386

EDITABLE MOTION TRAJECTORIES

Autodesk, Inc., San Rafa...

1. A computer-implemented method, the method comprising:
concurrently presenting (1) a three-dimensional world space view of a computer animation model in a coordinate system, the
world space view including a three-dimensional rendering of an object and a three-dimensional motion trail of the object between
a first key frame point on the three-dimensional motion trail within the world space view and a second key frame point on
the three-dimensional motion trail within the world space view, wherein the first key frame point is associated with a first
tangent handle for a user to adjust the three-dimensional motion trail of the object within the world space view, and (2)
a two-dimensional graph editor that presents one or more curves, each curve representing a motion trail of the object along
a respective axis of the coordinate system over time, and wherein the graph editor presents the first key frame point on a
first curve of the graph editor;

receiving, within the three-dimensional world space view, user input of a first adjustment to the first tangent handle of
the first key frame point on the three-dimensional motion trail within the world space view;

determining a second adjustment to a second tangent handle of the first key frame point within the two-dimensional graph editor,
the second adjustment corresponding to the user input within the three-dimensional world space view of the first adjustment
to the first tangent handle of the first key frame point on the three-dimensional motion trail within the world space view;
and

concurrently presenting the first tangent handle on the motion trail within the world space view according to the first adjustment
and presenting the second tangent handle on the curve within the graph editor according to the second adjustment to the second
tangent handle corresponding to the first adjustment to the first tangent handle.

US Pat. No. 9,223,914

AUTOMATED METHOD TO DETERMINE COMPOSITE MATERIAL CONSTITUENT PROPERTIES

Autodesk, Inc., San Rafa...

1. A method comprising:
receiving, at a machine comprising a processor and a memory, composite material properties for a composite material to be
simulated;

receiving, at the machine, a composite microstructure for the composite material to be simulated; and
obtaining, using the processor and the memory, a set of adjusted material properties for one or more constituents of the composite
material, for use in simulating the composite material, by processing the composite material properties and the composite
microstructure using fixed constituent property constraints;

wherein the fixed constituent property constraints apply across multiple users and multiple locations to provide consistency
in predicted material behavior in multiple simulated states, and the multiple users cannot vary the fixed constituent property
constraints across multiple simulations.

US Pat. No. 9,171,059

SELECTIVE QUANTITY TAKEOFF FROM COMPUTER AIDED DESIGN DRAWINGS

AUTODESK, INC., San Rafa...

1. A method for performing a quantity takeoff computation, the method comprising:
organizing a CAD drawing into a hierarchical representation that includes at least one object family associated with a plurality
of object types, wherein each object family corresponds to a different object, each of the plurality of object types corresponds
to a different variation of the different object, and each instance of each object type associated with an object family represents
a drawing object present in the CAD drawing;

receiving a selection of a first object family;
parsing the first object family to determine the plurality of object types associated with the first object family;
creating a takeoff object for each of the plurality of object types associated with the first object family;
identifying, via a processor, instances of each of the plurality of object types associated with the first object family,
wherein each instance is associated with one or more object properties and is identified by a different instance globally
unique identifier (GUID); and

quantifying the instances and the one or more object properties associated with each instance to produce a quantity takeoff
value.

US Pat. No. 9,141,253

IN-PRODUCT QUESTIONS, ANSWERS, AND TIPS

AUTODESK, INC., San Rafa...

1. A computer-implemented method for providing help content related to a software application to a user, the method comprising:
receiving textual input related to a first software application from a first user and comprising help content;
receiving first contextual information associated with the first user and related to the first software application;
storing, via a processor, the textual input and the first contextual information in a first discussion element;
transmitting the first discussion element to a server machine for processing;
receiving second contextual information associated with the first user and related to the first software application;
transmitting the second contextual information to the server machine;
receiving a plurality of discussion elements from the server machine based on the second contextual information, wherein each
discussion element included in the plurality of discussion elements stores textual input related to the first software application
and contextual information having a measure of correlation to the second contextual information; and

causing contents of at least one discussion element included in the plurality of discussion elements to be displayed to the
first user based on a relevance score associated with the at least one discussion element, wherein the relevance score is
based on the measure of correlation between the second contextual information and the contextual information stored in the
at least one discussion element.

US Pat. No. 9,111,371

WORKFLOW SYSTEM FOR 3D MODEL CREATION

AUTODESK, INC., San Rafa...

1. A method of creating a 3D model of a 3D object, comprising:
providing a 2D sketching mode for drawing sketches by:
receiving a specification of a first 2D plane having a first position in a 3D space;
receiving a drawing of a first sketch on the first 2D plane; and
receiving a specification of a second 2D plane having a second position in the 3D space, wherein the second position is different
from the first position, the second 2D plane comprising a second sketch; and

providing a 3D geometry mode that uses the first sketch on the first 2D plane and the second sketch on the second 2D plane
as references to produce a first 3D geometry curve and a second 3D geometry curve, the first 3D geometry curve and the second
3D geometry curve connecting the first 2D plane and the second 2D plane, wherein a 3D surface geometry of the 3D object is
defined by the first sketch on the first 2D plane, the second sketch on the second 2D plane, the first 3D geometry curve,
and the second 3D geometry curve.

US Pat. No. 9,349,219

3D SCENE OBJECT SWITCHING SYSTEM

AUTODESK, INC., San Rafa...

1. A method for generating alternative configurations for a three-dimensional (3D) scene, the method comprising:
creating a first lineup related to a first category;
generating a first plurality of alternatives for the first lineup, wherein each alternative included in the first plurality
of alternatives is associated with one or more objects included in the 3D scene;

creating a second lineup related to a second category that is associated with a first alternative included in the first plurality
of alternatives;

generating a second plurality of alternatives for the second lineup, wherein each alternative included in the second plurality
of alternatives is associated with the one or more objects included in the 3D scene that are associated with the first alternative;
and

displaying one of the alternatives included in the second plurality of alternatives on a display,
wherein the first lineup comprises a model lineup, and each of the first alternative and a second alternative included in
the first plurality of alternatives is associated with one or more different objects included in the 3D scene, and

wherein the second lineup comprises a positional lineup, and each alternative included in the second plurality of alternatives
includes a different set of positions or orientations corresponding to the one or more objects included in the 3D scene that
are associated with the first alternative.

US Pat. No. 9,323,422

SPATIALLY-AWARE PROJECTION PEN DISPLAY

AUTODESK, INC., San Rafa...

1. A spatially-aware projection pen configured to display a projected image, comprising:
an enclosure that is configured to be grasped by a human hand and house a memory, a projector, and a processor,
wherein the processor is configured to:
receive a first portion of design data that is stored in the memory or a portion of image data that is stored in the memory
to produce an overlay image,

output the overlay image to the projector to produce the projected image on a display surface, wherein the display surface
comprises a physical image of a second portion of the design data,

receive a selection of an instance of a displayed element based on a search of the display surface or the projected image
for the instance of the displayed element, and

update the overlay image to display a plurality of instances of the selected displayed element that exist within the projected
image.

US Pat. No. 9,317,951

ASSISTED CONVERSION OF BIOLOGICAL AND CHEMICAL PATHWAY INFORMATION TO THREE-DIMENSIONAL ANIMATIONS

Autodesk, Inc., San Rafa...

1. A computer-implemented method for generating an animation of molecular interactions occurring in a biological or chemical
pathway, comprising:
obtaining by a processor pathway information comprising (1) information defining two or more molecular assets involved in
a biological or chemical pathway, (2) information defining molecular interactions between at least two of the molecular assets,
and (3) sequence information linking the information defining molecular assets and the information defining the molecular
interactions so as to define a sequence of at least two events involved in the biological or chemical pathway, wherein the
sequence of events includes at least one molecular interaction selected from the group consisting of molecular binding, chemical
reaction, dimerizing, polymerizing, molecular dissociation, and molecular conformational change;

obtaining or generating by a processor graphical information comprising a three-dimensional graphical representation of the
structure of each of the molecular assets; and

generating by a processor from the pathway information and graphical information a three-dimensional animation of the molecular
interactions occurring in the biological or chemical pathway wherein the three-dimensional graphical representations of the
molecular assets appear to interact in a sequence defined by the sequence information such that the animation provides an
animated depiction of the at least two events involved in the biological or chemical pathway;

providing the generated animation or a portion thereof, for display on a display device in a graphical user interface that
is configured to allow a user to view or edit the animation, or both.

US Pat. No. 9,223,928

REVERSE ENGINEERING PART FAMILIES FOR MULTIPLE DISCIPLINES

Autodesk, Inc., San Rafa...

1. A method implemented by data processing apparatus, the method comprising:
identifying a plurality of part families, where each part family comprises a plurality of parts and each part in a respective
family being represented as a set of parameter values wherein each part family in the plurality of part families being compatible
with a content authoring client application;

receiving a selection of a first part family from the plurality of part families, the first part family including plural parts
and being represented as a set of parameter values;

creating one or more parts family lists for the selected first part family including processing the parts in the selected
first part family, wherein processing the parts includes

for each part in the selected first part family:
obtaining connection port geometry information for a physical part in the selected first part family wherein the connection
port geometry information includes a plurality of port vectors each representing a distinct respective physical port of the
part;

positioning each of the port vectors in a three-dimensional space at a respective location specified by the port vector;
generating a respective port alignment line for each of the port vectors, wherein the port alignment line specifies an alignment
of the respective port of the port vector in relation to the part;

generating one or more base curves each positioned to align with a plurality of the port alignment lines, wherein the position
of the base curve is based on, at least, the connection port geometry information, and wherein the base curve indicates a
position and a direction of at least a portion of the part;

generating one or more port solids from the connection port geometry information, wherein each of the one or more port solids
are positioned to align with a respective base curve so that the one or more port solids can be connected to each other;

constructing body geometry between each of the one or more port solids by sweeping along a respective base curve, wherein
the constructing is based at least on the connection port geometry information;

storing a representation of the selected first part family based on the constructing; and
creating a plurality of representations of the selected first part family based on the representation, one for each of a plurality
of different CAD systems;

receiving a request for a part in the selected first part family;
determining a CAD system type associated with the request;
locating a representation of the selected first part family in accordance with the type from the created plurality of representations
of the selected first part family; and

providing the located representation responsive to the received request.

US Pat. No. 9,157,248

DANGER ZONE DETECTION IN BUILDING MODELS

Autodesk, Inc., San Rafa...

1. A method implemented by data processing apparatus, the method comprising:
obtaining a model of a building wherein the model comprises a representation of the building at a point in time in construction
of the building, and wherein the model contains a plurality of building objects that are indicated as being present in the
building at the point in time by a construction schedule;

processing the plurality of building objects including for a given building object of the plurality of building objects, identifying
candidate edges of the given building object, wherein a candidate edge is an outer edge of a slab building object, an edge
of an opening in a slab building object, or a lower edge of an opening in a wall building object, and processing the candidate
edges to locate dangerous edges, wherein a dangerous edge is a candidate edge that is accessible and presents a risk of falling;

wherein processing the candidate edges includes:
identifying a protected edge, wherein the protected edge is a respective candidate edge having a first virtual box containing
a protection object that minimizes or removes the risk of falling associated with the respective candidate edge based on a
position of the protection object and the respective candidate edge, wherein the first virtual box is positioned partially
on an interior side of the respective candidate edge and partially on an exterior side of the respective candidate edge, a
bottom face of the first virtual box is a protection height beyond the respective candidate edge, and an outward-facing wall
of the first virtual box is on the exterior side of the respective candidate edge and is offset a gap distance from the respective
candidate edge;

eliminating the identified protected edge from the candidate edges of the given building object forming a modified candidate
set; and

locating dangerous edges in the modified candidate set; and
generating, by one or more processors, a presentation of the building based on the model of the building wherein one or more
of the located dangerous edges are emphasized in the presentation.

US Pat. No. 9,053,258

AUTOMATIC EXPLODE BASED ON OCCLUSION

Autodesk, Inc., San Rafa...

1. A computer-implemented method comprising:
determining a first separation direction for separating a first component of a three-dimensional assembly of components from
a second component of the assembly of components, wherein determining the first separation direction comprises:

determining a respective occlusion measure for each of a plurality of occlusion views, wherein each occlusion view represents
the first and second component in a different respective viewing direction and identifies a region where the first component
is physically blocked from movement along the respective viewing direction by the second component;

selecting an occlusion view of the plurality of occlusion views based on the respective occlusion measures, wherein the respective
occlusion measure of the selected occlusion view satisfies a criterion;

selecting the respective viewing direction associated with the selected occlusion view as the first separation direction;
and

updating a rendering of the assembly to show the first component spatially separated from the second component by positioning
one of the first component and the second component along the first separation direction.

US Pat. No. 9,053,080

METHOD AND APPARATUS FOR PROVIDING ACCESS TO AND WORKING WITH ARCHITECTURAL DRAWINGS ON A PERSONAL DIGITAL ASSISTANT

Autodesk, Inc., San Rafa...

1. A computer-implemented method for providing access to architectural documents comprising:
displaying a graphical virtual hand held computing device on a display of a desktop computer;
associating one or more architectural documents with the virtual hand held computing device by graphically adding the architectural
documents to the virtual hand held computing device using an input device;

annotating the one or more architectural documents on the actual hand held computing device when the actual hand computing
device is not communicatively coupled to the desktop computer;

synchronizing the virtual hand held computing device with an actual hand held computing device wherein the synchronization
provides that the information displayed on the virtual hand held computing device matches information displayed on the actual
hand held computing device, wherein the synchronizing is performed when the actual hand held computing device is communicatively
coupled to the desktop computer.

US Pat. No. 9,406,039

SYSTEMS AND METHODS FOR COLLABORATIVE CONSTRUCTION PLANNING

Autodesk, Inc., San Rafa...

1. A method for providing a collaborative construction project plan using a collaborative planning system, the method comprising:
establishing a milestone or completion event for a construction project plan;
assembling the construction project plan by:
defining activities for the milestone or completion event, wherein each of the activities is associated with a team member
which accomplishes a given activity; and

arranging the activities in reverse chronological order starting with the milestone or completion event, according to an order
of dependency of execution of activities;

displaying the construction project plan in such a way that the activities are illustrated to show the order of dependency
between activities;

generating, on a graphics display, a visualization of a critical path for the construction project plan;
identifying, on the graphics display, critical activities associated with the critical path by highlighting the critical path
activities with a visual indication, in the visualization, that shows a path of necessary activities in the construction project
plan;

receiving first user input to the visualization indicating a modification to an activity;
in response to the receiving the first input, calculating time data of the construction project plan;
interactively and in response to the first input, updating the visualization to displaying the calculated time data of the
construction project plan on the graphics display to show changes in the critical path such that further user input continues
to interactively update the visualization;

displaying, on the graphics display, an interactive two-dimensional floor plan view, the interactive two-dimensional floor
plan view displaying an interactive building map that includes activities as located in a building space;

receiving second user input indicating a user preference for three-dimensional view; and
in response to receiving the second input, switching, on the graphics display, the interactive two-dimensional floor plan
view into a three-dimensional floor plan view.

US Pat. No. 9,594,487

SYSTEMS AND METHODS FOR MANIPULATING A 3D OBJECT IN A 3D MODEL USING A SOFTWARE WIDGET AND SURFACE CONSTRAINTS

AUTODESK, INC, San Rafae...

1. A method for manipulating a three-dimensional (3D) object, the method comprising:
receiving user input associated with a software widget that includes one or more controls, wherein the software widget is
associated with the 3D object, and at least one of the one or more controls comprises an orientation control that, when adjusted,
causes a new orientation vector to be determined that is based on the intersection of a ray with a sphere superimposed over
the software widget, and changes the orientation of the 3D object to reflect the new orientation vector;

determining a manipulation operation corresponding to a control specified by the user input; and
executing the manipulation operation to adjust the 3D object.

US Pat. No. 9,355,500

SYSTEM AND METHOD FOR ANIMATING COLLISION-FREE SEQUENCES OF MOTIONS FOR OBJECTS PLACED ACROSS A SURFACE

AUTODESK, INC., San Rafa...

1. A computer-implemented method for animating, in a computer-generated simulation, a plurality of objects that are placed
across a surface of a graphics object, the method comprising:
receiving a specification of a total duration for the computer-generated simulation;
applying, to a first object in the plurality of objects, a first motion from a set of motions;
applying, to a second object in the plurality of objects, a second motion from the set of motions;
establishing, for the first object, a first bounding area that represents a largest area covered by the first object when
animated by the first motion;

establishing, for the second object, a second bounding area that represents a largest area covered by the second object when
animated by the second motion;

determining that the first motion terminates prior to the total duration and prior to the second motion;
identifying a third motion in the set of motions that is a valid motion to be applied to the first object;
establishing a third bounding area for the first object based on the third motion;
determining that the third bounding area does not intersect with the second bounding area of the second object; and
scheduling, via a processor, the third motion to be applied to the first object when the first motion terminates.

US Pat. No. 9,292,629

BUILDING PATH IDENTIFICATION

Autodesk, Inc., San Rafa...

1. A method implemented by data processing apparatus, the method comprising:
obtaining a model of a building under construction wherein the model represents the building and includes an associated construction
schedule, and wherein the model contains a plurality of building objects that are indicated as being present at different
points in time by construction schedule;

determining a best time to transport one or more physical objects based on one or more identified paths, including for a plurality
of different times;

generating a representation of the model a given time including locating the plurality of building objects at respective locations
in the building in accordance with the construction schedule and the given time;

obtaining an equipment model representing the one or more physical objects to be brought into the model at some point in time
in the construction of the building at a starting location in the model to be located at an equipment location in the model;

identifying one or more paths that circumnavigate one or more of the building objects in the representation of the model based
on their location at the given time in the construction schedule for transporting the physical objects represented by the
equipment model from the starting location in the representation of the model to a respective destination location in the
representation of the model at the given time, wherein each path can accommodate dimensions of an envelope encompassing the
one or more physical objects in the equipment model within a predetermined number of clearance failures, wherein identifying
one or more paths further includes generating a path diagram, reviewing each segment in the path diagram to remove impassable
segments, identifying isolated portions of the path diagram based on removal of impassable segments, and connecting isolated
portions of the path diagram by adding door segments, wherein adding door segments further includes identifying doors and
openings in a corresponding wall, add a door segment to the path diagram perpendicular to the corresponding wall and extending
away from the wall until the door segment crosses with an existing segment in the path diagram;

and
generating a presentation of one or more of the identified paths in a representation of the model including determining a
best time to transport the physical objects based on the one or more identified paths for the plurality of different times.

US Pat. No. 9,218,688

ANIMATABLE GRAPHICS LIGHTING ANALYSIS REPORTING

AUTODESK, INC., San Rafa...

1. A method for displaying lighting values associated with a graphics model, the method comprising:
generating a light meter on a surface associated with the graphics model, wherein the graphics model includes one or more
graphics objects, and the light meter defines a set of points on the surface associated with the graphics model;

generating a light meter object corresponding to the light meter;
computing a lighting value for each point in the set of points based on at least one light source associated with the graphics
model to generate a first set of computed lighting values;

storing the first set of computed lighting values in the light meter object;
rendering, via a processing unit, the graphics model, a first overlay grid, and the first set of computed lighting values
transmitted from the light meter object for display in a first display window, wherein the first overlay grid and the first
set of computed lighting values are superimposed on the graphics model, and each grid point in the first overlay grid corresponds
to a computed lighting value stored in the light meter object; and

changing at least one of the displayed lighting values based on a timeline associated with the first display window;
wherein an area in the display image covered by the first overlay grid is shaded based on the first set of computed lighting
values.

US Pat. No. 9,182,882

DYNAMIC CREATION AND MODELING OF SOLID MODELS

Autodesk, Inc., San Rafa...

1. A computer-implemented method performed by a computer for performing three-dimensional (3D) modeling comprising:
(a) activating, in a 3D modeling application executing on a multi-touch device, a modeling tool;
(b) receiving an input touch event;
(c) determining that the input touch event triggers creation of a new 3D geometric form instead of another operation;
(d) receiving an input gesture on the multi-touch device, wherein the input gesture comprises a drag of a user's finger along
a path; and

(e) dynamically, in real-time as the input gesture is received, creating and displaying the new 3D geometric form, wherein
a shape of the new 3D geometric form corresponds to the input gesture.

US Pat. No. 9,177,084

GENERATING AN ANALYTICAL ENERGY MODEL

Autodesk, Inc., San Rafa...

1. A computer-implemented method, comprising:
receiving a conceptual representation of a building including one or more user-defined floor levels and multiple surfaces
defining geometrical volumetric spaces; and

responsive to a request to generate an analytical energy model, automatically generating, by one or more processors, the analytical
energy model by:

deriving geometric information from the conceptual representation;
based on the geometric information, determining one or more mass volumes;
algorithmically assigning one or more surface types to mass volume surfaces based, at least in part, on surface type definitions
a number of space adjacencies and the geometric information associated with a corresponding mass volume surface, the surface
type definitions specifying a material construction of a corresponding surface type;

defining one or more thermal mass zones based on the determined one or more mass volumes and a corresponding number of user-defined
floor levels;

deriving, using a model generator, thermal properties of the one or more thermal mass zones;
wherein the deriving is based one the geometrical volumetric spaces, the one or more surface types assigned to the mass volume
surfaces, and corresponding material construction; and

combining the defined one or more thermal mass zones, the derived thermal properties, and predefined analytical energy model
parameters to generate the analytical energy model.

US Pat. No. 9,152,453

TRANSFERRING OWNERSHIP PRIVILEGES

Autodesk, Inc., San Rafa...

1. A method implemented by data processing apparatus, the method comprising:
identifying, by a data management system, an ownership privilege for a resource in a system that permits users to acquire
a write lock on one or more resources in a plurality of resources, wherein users that do not have the ownership privilege
for the resource cannot acquire the write lock on the resource, wherein the ownership privilege for the resource is associated
with a first owner in a first geographic region;

receiving, by the data management system, a request for the write lock on the resource from a second owner in a different
second geographic region;

determining that the second owner in the different second geographic region does not have the ownership privilege;
in response to determining that the second owner does not have the ownership privilege, adding the second owner to a queue
of users who have requested the write lock for the resource without having ownership privileges for the resource;

determining, by the data management system, that a developmental stage of the resource has changed from a first stage associated
with the first owner in the first geographic region to a second stage associated with the different second owner in the different
second geographic region;

in response to determining that the developmental stage of the resource has changed, automatically revoking the ownership
privilege for the first owner in the first geographic region;

determining that the second owner is next in the queue of users who have requested the write lock for the resource without
having ownership privileges for the resource;

in response to determining that the second owner is next in the queue of users who have requested the write lock for the resource
without having ownership privileges for the resource, automatically granting the ownership privilege to the second owner in
the different second geographic region;

receiving a request for the write lock on the resource from the first owner, wherein the request for the write lock is a request
for the write lock on the resource for which the write lock has not been acquired by another user;

determining that the first owner does not have the ownership privilege; and
in response to determining that the first owner does not have the ownership privilege, denying the request for the write lock
on the resource from the first owner and adding the first owner to the queue of users who have requested the write lock for
the resource without having ownership privileges for the resource.

US Pat. No. 9,098,115

PHYSICAL OBJECT FOR INTUITIVE NAVIGATION IN A THREE-DIMENSIONAL SPACE

AUTODESK, INC, San Rafae...

1. A computer-implemented method for manipulating graphics objects within a display viewed by an end-user, the method comprising:
capturing visual data of the end-user moving an inanimate object that is external to the display within a plurality of zones
of motion, wherein each zone of motion included in the plurality of zones of motion is associated with a different expected
motion type;

determining at least one zone of motion in the plurality of zones of motion in which the end-user moves the inanimate object;
determining a first motion type associated with the movement of the inanimate object within the at least one zone of motion,
wherein the first motion type comprises an expected motion type associated with the at least one zone of motion; and

based on the at least one zone of motion and the first motion type, determining at least one change to a viewpoint associated
with one or more graphics objects displayed to the end-user within the display,

wherein the at least one change to the viewpoint causes an alteration in how the one or more graphics objects are displayed
to the end-user within the display.

US Pat. No. 9,483,873

EASY SELECTION THRESHOLD

Autodesk, Inc., San Rafa...

1. A computer-implemented method for selecting an object in a three-dimensional (3D) scene, comprising:
displaying a camera angle view of the 3D scene, wherein the 3D scene comprises a first object that is displayed in the foreground
and a second object that is occluded or partially occluded by the first object; and

without modifying the camera angle view of the 3D scene:
activating an object selection option;
interactively defining, via interaction with a user, a transparency threshold value for the first object;
selecting a location in the displayed 3D scene, wherein the location is located on a portion of the first object that occludes
the second object;

based on the transparency threshold value and the location, selecting the first object or the second object; and
displaying the selected object in a visually distinguishable manner;
in response to the activating the object selection option, displaying the first object and the second object within respective
geometric bounding areas, wherein a displayed texture of each geometric bounding area is a defined color;

adjusting the transparency threshold value; and
modifying the displayed 3D scene based on the adjusting, wherein the modifying comprises sequentially cycling through the
objects in the 3D scene based on: the adjusted transparency threshold value; and transparency threshold values corresponding
to each object.

US Pat. No. 9,280,257

NAVIGATION SYSTEM FOR A 3D VIRTUAL SCENE

AUTODESK, INC., San Rafa...

1. A method, comprising:
determining whether a cursor has moved to an out-of-view position beyond a view boundary located inside an edge of a three-dimensional
scene; and

re-positioning the cursor on an opposite side of the out-of-view position in a new position within the view boundary when
the determining indicates the cursor as having moved beyond the view boundary, and

where the view boundary is enabled to be set as a boundary of an object in the three-dimensional scene when determining the
cursor is positioned on the object.

US Pat. No. 9,116,599

SYSTEMS AND METHODS FOR VISUALIZING A 3D SCENE USING A FLEXIBLE DISPLAY

AUTODESK, INC., San Rafa...

1. A method for visualizing a three dimensional (3D) object using a flexible display, the method comprising:
generating a first two dimensional (2D) representation that corresponds to a first perspective of the 3D object;
displaying the first 2D representation on the flexible display;
detecting that a surface profile of the flexible display has been altered; and
in response to the detecting, generating a second 2D representation that corresponds to a second perspective of the 3D object,
and displaying the first 2D representation on a first portion of the flexible display while displaying the second 2D representation
on a second portion of the flexible display.

US Pat. No. 9,070,402

3D MODEL PRESENTATION SYSTEM WITH MOTION AND TRANSITIONS AT EACH CAMERA VIEW POINT OF INTEREST (POI) WITH IMAGELESS JUMPS TO EACH POI

AUTODESK, INC., San Rafa...

1. A method, comprising:
specifying, by an author, a first motion view of a 3D scene indicating a point in the 3D scene to be featured, the first motion
view including defining a cinematographic shot along an author specified path, a camera movement and a view of the 3D scene
featuring the point;

determining whether a point in the 3D scene selected by a user, other than the author, is relevant towards presentation of
the point to be featured as specified by the author; and

controlling presentation of the 3D scene to the user using the first motion view featuring the point in correspondence with
the camera movement and the view specified by the author, when the determining indicates the point selected by the user is
relevant to featuring the point as specified by the author.

US Pat. No. 9,411,482

VISUALIZING USER INTERFACES

Autodesk, Inc., San Rafa...

1. A method performed by one or more computers, the method comprising:
presenting a user interface visualization for an application,
wherein the application is configured to perform a plurality of functions, and
wherein the application is configured to present a graphical user interface including a plurality of user interface elements
to access the functions, and

wherein presenting the user interface visualization for the application comprises:
selecting a group of related functions; and
presenting a respective graphical representation for each related function,
wherein the graphical representations are presented in proximity to each other, and
wherein the graphical representations are presented differently than the user interface elements, and
wherein the user interface visualization executes independently of the application on which the user interface visualization
is built, and

wherein the graphical user interface for the application is presented on a first display and the user interface visualization
for the application is presented on a second display,

the first display and the second display are on first and second physically separate monitors of a computer system, respectively,
wherein the graphical user interface for the application includes space for viewing a document and the user interface visualization
lacks space for viewing a document, and

wherein the user interface visualization presented on the second display executes and communicates in real-time with the application
presented on the first display, and

wherein the user interface visualization visually presents, for a particular function,
a difference between community usage data and expert usage data on the second display, and
 wherein the community usage data indicates an overall frequency for which the particular function, relative to other functions,
is used by a community of users of the application, and

 wherein the expert usage data indicates a frequency for which the particular function is used by expert users.

US Pat. No. 9,563,980

GRIP MANIPULATABLE SHADOWS IN 3D MODELS

AUTODESK, INC., San Rafa...

1. A computer-implemented method for manipulating a shadow of an object in a three-dimension (3D) model cast by a light source,
the method comprising:
receiving, via an input device, an indication of an initial position of a shadow grip-point, wherein the initial position
is defined within a shadow-bounded region of the 3D model;

determining a pivot point that is a point on a line between a current position of the light source and the initial position
of the shadow grip-point:

receiving, via the input device, an indication of a destination position of the shadow grip-point, wherein the destination
position is derived from movements of a mouse cursor that are translated into movements within a two-dimensional workplane
based on the location of the two-dimensional workplane;

calculating a vector that represents a new position of the light source based on a position of the pivot point and the destination
position of the shadow grip-point;

determining whether the new position of the light source is physically possible;
if the new position of the light source is not physically possible, then:
providing visual feedback indicating that the new position of the light source is not physically possible, or
if the new position of the light source is physically possible, then:
adjusting a plurality of properties associated with the light source based on the new position represented by the vector,
wherein a first property of the plurality of properties comprises a position property that indicates a current position of
the light source and a second property of the plurality of properties comprises a time of day property that indicates a time
of day associated with the current position of the light source; and

modifying the shadow-bounded region based on the adjusted position of the light source.

US Pat. No. 9,177,420

INTUITIVE SHAPE CONTROL FOR BOUNDARY PATCHES

AUTODESK, INC., San Rafa...

1. A computer-implemented method for modifying the shape of a graphics object represented in a computer-aided design (CAD)
application, the method comprising:
generating a surface based on one or more boundaries of the graphics object, wherein the surface has a shape defined by a
set of first coordinates;

mapping the set of first coordinates to a set of second coordinates that identifies a different tangent for each of the one
or more boundary edges, the second set of coordinates being defined relative to a modified spherical coordinate system having
a variable origin determined by a variable function that is based on a variable scaling factor for scaling magnitudes of the
tangents for the one or more boundary edges;

modifying a first tangent for a first boundary edge by moving the variable origin of the modified spherical coordinate system;
and

modifying the shape of the surface based on the modified first tangent to generate a modified shape of the surface.

US Pat. No. 9,269,189

CONVERSION OF T-SPLINE MODELS TO TRIM-FREE T-SPLINE MODELS: FUNCTIONAL CASE

Autodesk, Inc., San Rafa...

1. A computer-implemented method comprising:
receiving an input boundary representation (B-rep) face and an associated functional trimming curve;
constructing a trim-free T-spline control mesh for a NURBS surface control grid of the input B-rep face;
aligning the trim-free T-spline control mesh with the functional trimming curve; and
generating a representation of the input B-rep face using untrimmed bicubic surface patches for each of one or more faces
in the aligned trim-free T-spline control mesh that are adjacent to the functional trimming curve, wherein each bicubic surface
patch is represented by a variable knot spline, and wherein at least one bicubic surface patch has a first sum of knot intervals
on a first edge of the patch that does not equal a second sum of knot intervals on an opposing second edge of the bicubic
surface patch.

US Pat. No. 9,858,728

INTERACTIVE TOOL FOR INSPECTING AND REPAIRING THREE DIMENSIONAL MODELS

AUTODESK, INC., San Rafa...

1. A computer-implemented method for repairing a set of defects associated with a three-dimensional (3D) model, the method
comprising:
rendering a first image that represents the 3D model from a first viewing position;
receiving a first threshold associated with a first defect parameter via a first user interface element included in a graphical
user interface (GUI);

receiving a second threshold associated with the second defect parameter via the second user interface element included in
the GUI;

determining a set of defects included in the 3D model based on the first threshold associated with the first defect parameter
and the second threshold associated with the second defect parameter, wherein each defect included in the set of defects exceeds
the first threshold and the second threshold;

generating within the first image a set of defect indicators, wherein each defect indicator is associated with a different
defect in the set of defects and resides at a different location within the first image corresponding to a location of the
associated defect within the 3D model;

automatically selecting a different defect viewing position associated with each defect in the set of defects based on the
location of the defect within the 3D model, wherein each defect viewing position corresponds to a different angle from which
to view the 3D model;

rendering a different thumbnail image for each defect in the set of defects based on the associated defect viewing positions,
wherein the thumbnail image associated with a particular defect shows the particular defect from a defect viewing position
associated with the particular defect; and

causing the GUI to display the first image and a filmstrip that includes the thumbnail images to the end-user.

US Pat. No. 9,595,135

TECHNIQUE FOR MAPPING A TEXTURE ONTO A THREE-DIMENSIONAL MODEL

AUTODESK, INC., San Rafa...

1. A computer-implemented method for projecting a texture map onto a three-dimensional (3D) model, the method comprising:
generating a polyline that includes a first plurality of points that resides along a stroke path defined across a surface
region of the 3D model;

generating a second plurality of points that resides within a threshold distance of the polyline;
generating a UV coordinate for each point included in the first plurality of points and for each point included in the second
plurality of points; and

projecting the texture map onto the surface region of the 3D model according to the generated UV coordinates.

US Pat. No. 9,495,484

NESTING USING RIGID BODY SIMULATION

AUTODESK, LLP, San Rafae...

1. A method for nesting a plurality of parts, comprising:
receiving the plurality of parts, each part including geometry which represents a 2D or 3D object which is to be manufactured
from a material; and

performing a rigid body simulation to generate the nesting of the parts, the rigid body simulation comprising, for each of
one or more of the parts:

selecting a location for dropping the part into 2D sheet geometry or 3D volume geometry which represents a sheet or volume
of the material, respectively, and

simulating a dropping of the part into the 2D sheet geometry or 3D volume geometry from the selected location,
wherein the nesting of the parts provides a pattern for manufacturing the 2D or 3D objects represented by the parts from the
sheet or volume of the material.

US Pat. No. 9,513,716

BIMANUAL INTERACTIONS ON DIGITAL PAPER USING A PEN AND A SPATIALLY-AWARE MOBILE PROJECTOR

AUTODESK, INC., San Rafa...

1. A spatially-aware projector system, comprising:
a first position tracking mechanism configured to provide first position data related to a current position of a projector
within a display surface;

a second position tracking mechanism configured to provide second position data related to a current position of a spatially-aware
digital pen within the display surface; and

the projector configured to:
display a projected image generated from design data retrieved from a memory based on the first position data;
receive drawing input via the second position tracking mechanism;
analyze the drawing input relative to the projected image;
update the design data based on the drawing input; and
display a radial user interface menu including a plurality of regions separated by boundaries, wherein a first region in the
plurality of regions is selected based on the spatially-aware digital pen remaining fixed and in contact with the display
surface while the projector is relocated.

US Pat. No. 9,508,186

PRE-SEGMENT POINT CLOUD DATA TO RUN REAL-TIME SHAPE EXTRACTION FASTER

Autodesk, Inc., San Rafa...

1. A computer-implemented method for pre-segmenting point cloud data, the method comprising the steps of:
obtaining point cloud data;
segmenting the point cloud data;
storing segment information for the segmented point cloud data;
creating an indexing structure;
storing the point cloud data and the segment information into the indexing structure;
determining, based on the segment information, points needed for shape extraction;
fetching the points needed for shape extraction from the indexing structure;
extracting one or more shapes based on the fetched points; and
utilizing the extracted one or more shapes to cull points from the point cloud data.

US Pat. No. 9,477,789

ROAD DESIGN OPTIMIZATION

Autodesk, Inc., San Rafa...

1. A computer-implemented method for optimizing a design for a vertical profile of a road, comprising:
obtaining, in a special purpose computer, a ground surface profile;
generating, in the special purpose computer, from the ground surface profile, an initial set of points of vertical intersection
(PVIs) for the road, using a dynamic programming method;

determining, in the special purpose computer, an earthwork cost and a hauling cost for building the road based on the PVIs;
and

reducing the earthwork cost and the hauling cost by modifying, in the special purpose computer, all of the following:
an elevation of the PVIs;
a horizontal position of the PVIs; and
curve lengths of the vertical profile;
wherein the reducing considers earthwork costs associated with a cross section of the road.

US Pat. No. 9,251,301

GENERATING A COLLECTION OF TAKEOFF OBJECTS FROM A COMPUTER-AIDED DESIGN DRAWING

AUTODESK, Inc., San Rafa...

1. A method for generating a collection of takeoff objects from a computer-aided design (CAD) drawing, the method comprising:
parsing the CAD drawing to identify a set of drawing objects, the CAD drawing comprising a plurality of different types of
drawing objects, each type of drawing object uniquely identified by a different object globally unique identifier (GUID),
wherein each identified drawing object is associated with a set of instances having the same object GUID of the associated
drawing object;

generating a model tree comprising drawing objects and instances from the CAD drawing, wherein the set of instances of a drawing
object in the CAD drawing that share the same object GUID are grouped together in the model tree;

generating a takeoff object for each of the identified drawing objects of the model tree, the takeoff object configured to
store a quantify type, a quantify property, and cost data used to generate a cost estimate for the identified drawing object;

prompting a user to specify, for each of the takeoff objects, a value for each of the quantify type, the quantify property,
and the cost data;

storing, for each of the takeoff objects, the values for each of the quantify type, the quantify property, and the cost data,
in the takeoff object;

receiving, for each of the takeoff objects, a selection of a takeoff category to be associated with the takeoff object, wherein
the takeoff category is associated with one or more additional takeoff objects according to data stored in a database;

storing each of the takeoff objects in the CAD drawing;
quantifying, for each of the takeoff objects, from the values for the quantify type and the quantify property stored in the
takeoff object, a takeoff quantity for the instances of the identified drawing object corresponding to the takeoff object,
and computing, from the takeoff quantity and the cost data, the cost estimate for the instances of the identified drawing
object corresponding to the takeoff object; and

generating a hierarchical takeoff report based on each the takeoff objects, wherein the hierarchical takeoff report displays,
as sub-elements to the each of the takeoff categories associated with the takeoff objects, the values for the quantify type,
the quantify property, the cost data and the cost estimate for each of the instances of the drawing objects.

US Pat. No. 9,811,944

METHOD FOR VISUALIZING FREEFORM SURFACES BY MEANS OF RAY TRACING

AUTODESK, INC., San Rafa...

1. A method for visualizing freeform surfaces defined via one or more non-uniform relative B-spline (NURBS) surfaces, the
method comprising:
subdividing a first freeform surface in a first parameter direction at a first regular interval and in a second parameter
direction at a second regular interval to define a plurality of surface fragments that forms a mesh grid, wherein the first
parameter and the second parameter define a parametric space, each of the plurality of surface fragments is enclosed by at
least one bounding box, the first freeform surface is defined by at least one NURBS surface and is associated with an object
in a graphics scene, and each point residing on the first freeform surface corresponds to a unique combination of a first
parameter value and a second parameter value;

emitting a virtual beam into the scene from a virtual camera, wherein the beam passes through a pixel included in a virtual
image plane and intersects a first surface segment of the first freeform surface;

determining, by traversing each of a plurality of bounding boxes that each encloses the first surface segment, an intersection
point residing within the first surface fragment where the beam intersects the first freeform surface, wherein the plurality
of bounding boxes includes a first bounding box, a second bounding box, and a third bounding box, the first bounding box comprising
(i) the second bounding box and (ii) a fourth bounding box that is not included in the plurality of bounding boxes;

calculating an illumination value at the intersection point; and
assigning the illumination value to at least one pixel included in the virtual image plane.

US Pat. No. 9,811,714

BUILDING DATUM EXTRACTION FROM LASER SCANNING DATA

Autodesk, Inc., San Rafa...

1. A computer-implemented method for extracting level and reference grid information for a building interior from point cloud
data, comprising:
obtaining point cloud data, of the building interior, comprising laser scanning points of a building;
organizing the point cloud data into a three-dimensional structure of voxels, the three-dimensional structure consisting of
an X-axis, Y-axis, and Z-axis, wherein each voxel represents a value on a regular grid in three-dimensional space;

generating an X-axis histogram by accumulating the voxels positioned along the X-axis of the three-dimensional voxel structure;
generating a Y-axis histogram by accumulating the voxels positioned along the Y-axis of the three-dimensional voxel structure;
generating a Z-axis histogram by accumulating the voxels positioned along the Z-axis of the three-dimensional voxel structure;
extracting level information from the Z-axis histogram for an interior structure of the building interior; and
extracting reference grid information of the interior structure of a floor plan for the building interior from the X-axis
histogram and the Y-axis histogram, wherein peaks of the X-axis histogram and Y-axis histogram are used to identify a wall
location or location marker of a reference grid.

US Pat. No. 9,418,459

REGION FILLING USING MATCHING CRITERIA

AUTODESK, INC., San Rafa...

1. A method of identifying regions in a line drawing to fill with a graphical style, comprising:
parsing the line drawing to identify a collection of closed regions present in the line drawing, wherein the line drawing
includes a plurality of line segments, and each line segment is associated with one of a plurality of layers of the line drawing;

generating a planar graph representation of the collection of closed regions present in the line drawing, wherein the planar
graph includes information that indicates a correspondence between each line segment in the line drawing and the associated
layer of the line drawing;

receiving a selection of a graphical style, a selection of matching criteria, and a selection of a seed region present in
the line drawing;

identifying one or more regions in the collection of closed regions matching the seed region based on the matching criteria
and the planar graph representation; and

applying, via a processor, the graphical style to the one or more identified regions.

US Pat. No. 9,659,020

SERIALIZATION FOR DELTA ENCODING

Autodesk, Inc., San Rafa...

1. A method comprising:
a. storing, in a database communicatively connected to a first computer, a first file, the first file storing a version of
a master file compressed in accordance with a compression technique;

b. at the first computer, making one or more changes to the master file to create a modified master file;
generating a second file, wherein the second file is a version of the modified master file compressed in accordance with the
compression technique, wherein the generating comprises:

for each of a plurality of portions of the second file:
A. determining, based on a portion of the modified master file, if a change corresponding to the one or more changes to the
master file was made within a predefined time limit associated with the compression technique by determining whether the change
occurred within n seconds of the modified master file;

B. if no change corresponding to the one or more changes to the master file was made within the predefined time limit associated
with the compression technique, adding, to the second file, data identical to a portion of the first file encoding the corresponding
portion of the master file; and

C. if a change corresponding to the one or more changes to the master file was made within the predefined time limit associated
with the compression technique, adding, to the second file, data encoding the portion of the modified master file.

US Pat. No. 9,529,939

SURFACING ALGORITHM FOR DESIGNING AND MANUFACTURING 3D MODELS

AUTODESK, INC., San Rafa...

1. A computer-implemented method for processing three-dimensional (3D) model data that models an object, the method comprising:
receiving, by a software application stored in a memory and executed on a processor, a set of 3D geometry elements that model
the object, wherein the 3D geometry elements comprise a mesh of triangles within a 3D coordinate space; and

decomposing the 3D geometry elements into a collection of one or more two-dimensional (2D) panels, wherein each 2D panel encodes
a distinct portion of the 3D model data of the object, wherein decomposing the 3D geometry elements into the collection of
one or more 2D panels comprises:

initializing the 2D panels such that each 2D panel is one of the triangles in the mesh of triangles; and
iteratively:
identifying one or more potential mergings of pairs of 2D panels that share common edges in the 3D geometry,
for each potential merging in the one or more potential mergings:
evaluating a function that assigns a number to the potential merging based on geometric properties of a 2D panel that would
result from the potential merging, and

selecting one potential merging from the one or more potential mergings based on the assigned numbers,
until termination criteria are satisfied.

US Pat. No. 9,530,024

RECOMMENDATION SYSTEM FOR PROTECTING USER PRIVACY

AUTODESK, INC., San Rafa...

1. A computer-implemented method for providing application command recommendations to a privacy-sensitive client device, the
method comprising:
receiving a command log from each general client device included in a plurality of general client devices;
analyzing the command logs to generate a command recommendation file, wherein the command recommendation file indicates a
relationship between one or more application commands executed by at least one of the general client devices and one or more
application commands that are available for execution by the privacy-sensitive client device, wherein the privacy-sensitive
client does not share command log information associated with the one or more application commands executed by the at least
one general client device; and

transmitting the command recommendation file to the privacy-sensitive client device.

US Pat. No. 9,508,114

FILE FORMAT AND SYSTEM FOR DISTRIBUTED SCENE GRAPHS

Autodesk, Inc., San Rafa...

1. A computer implemented method for utilizing a distributed scene graph comprising:
maintaining a database, wherein the database comprises one or more asset hashes and corresponding location identifiers identifying
where an asset corresponding to each of the one or more asset hashes is located;

initiating an export of a scene, wherein the scene comprises a scene asset, and wherein the scene comprises a graphical scene;
computing a hash value for the scene asset;
determining if the hash value is one of the one or more asset hashes in the database;
if the hash value is not one of the one or more asset hashes in the database:
adding the hash value as a new asset hash in the database with a corresponding location identifier identifying where the scene
asset is stored;

if the hash value is one of the one or more asset hashes in the database, utilizing the corresponding location identifier
to identify the location of the scene asset;

storing the hash value and the corresponding location identifier in a scene graph file, wherein the scene graph file comprises
a scene graph that is a collection of nodes that arranges a logical and spatial representation of the graphical scene;

initiating a traversal of the scene graph file to render the scene; and
during the traversal, for each hash value in the scene graph file, retrieving the scene asset from the location identified
in the scene graph file and processing the scene asset, resulting in the rendering of the scene.

US Pat. No. 9,412,191

SEX SELECTION IN INHERITANCE BASED AVATAR GENERATION

AUTODESK, INC., San Rafa...

1. A method, comprising:
providing at least two avatars via an avatar generator, each one of the at least two avatars having a different simulated
physical appearance that is defined in terms of a plurality of inheritable characteristics;

providing a first weighting factor via the avatar generator for defining a relative contribution of at least one of the plurality
of inheritable characteristics from each of the at least two avatars to a simulated physical appearance of an Off-Spring avatar,
the first weighting factor selected by a user;

providing an indication of the sex of the Off-Spring avatar;
designating a first inheritable characteristic associated with at least one of the two avatars as being a recessive characteristic,
wherein a first avatar of the two avatars is associated with a first recessive variant of the recessive characteristic, a
second avatar of the two avatars is associated with a second recessive variant of the recessive characteristic, and the first
recessive variant is different than the second recessive variant;

providing a second weighting factor via the avatar generator for defining a relative contribution of the first recessive variant
and the second recessive variant;

generating the Off-Spring avatar in dependence upon the plurality of inheritable characteristics of the at least two avatars,
the first weighting factor, the second weighting factor, and the indication of the sex of the Off-Spring avatar; and

at least one of storing the Off-Spring avatar on a computer readable storage medium and displaying the simulated physical
appearance of the Off-Spring avatar to the user.

US Pat. No. 9,159,155

IMAGE RENDERING

Autodesk, Inc., San Rafa...

1. A method performed by a system of one or more computers, the method comprising:
receiving an image request identifying an image having a width and a height and being at a first resolution;
identifying a plurality of interleaved buffers, each of the interleaved buffers operable to store data associated with the
image and representing a whole view of the image, wherein the whole view includes a full frame of the image at a second resolution
that is different from and less than the first resolution;

determining a respective camera offset angle for each interleaved buffer based at least in part on a total number of interleaved
buffers of the plurality of interleaved buffers;

splitting the image into each of the interleaved buffers using different sampling rates for two or more of the interleaved
buffers, including, for each interleaved buffer, sampling the image using the determined respective camera offset angle for
a respective interleaved buffer;

rendering a first representation of the image based on the contents of a first interleaved buffer using the respective offset
camera angle for the first interleaved buffer;

displaying the first representation of the image;
after displaying the first representation and while the first representation is still being displayed, rendering a second
representation of the image based on the contents of a second interleaved buffer using the respective offset camera angle
for the second interleaved buffer;

blending the second representation of the image with the first representation of the image to create an interleaved image;
and

displaying the interleaved image in place of the first representation of the image.

US Pat. No. 9,841,823

PHYSICAL OBJECT FOR INTUITIVE NAVIGATION IN A THREE-DIMENSIONAL SPACE

AUTODESK, INC., San Rafa...

1. A method implemented by a computer system for manipulating graphics objects within a display of the computer system viewed
by an end-user, the method comprising:
capturing motion data associated with the end-user moving an inanimate object within a plurality of zones of motion, wherein
the inanimate object is external to the display and is not an element of the computer system;

determining a zone of motion in the plurality of zones of motion in which the end-user moves the inanimate object;
determining a first motion type associated with the movement of the inanimate object within the zone of motion; and
based on the zone of motion and the first motion type, determining at least one change to a viewpoint associated with one
or more graphics objects displayed to the end-user within the display,

wherein the at least one change to the viewpoint causes an alteration in how the one or more graphics objects are displayed
to the end-user within the display.

US Pat. No. 9,744,727

ELECTRO-MECHANICAL 3D PRINTING DESIGN SYSTEM

Autodesk, Inc., San Rafa...

1. A computer system including a layout tool, comprising:
a mechanical design engine for configuring mechanical design components to be included in a design, the mechanical design
engine for generating for display a user interface (UI) for manipulation by a user for constructing the design, the UI comprising
a plurality of tools for placing mechanical components included in a library and for constructing mechanical components for
inclusion in the design, the design to be printed on a three-dimensional (3D) printer;

an electrical design engine for configuring electrical components to be included in the design, the electrical design engine
for generating for display a UI for manipulation by a user for laying out electrical pathways associated with an electrical
portion of the design, the electrical pathways to be printed adjacent to one or more surfaces of mechanical components of
the design, the electrical design engine comprising an optimization engine for optimizing the electrical pathways based, at
least in part, on 3D aspects of the design, the optimization engine configured to review the design and to propose electrical
pathways that satisfy electrical needs of the design while taking into account 3D structures included in the design;

a constraint engine for identifying the 3D printer to be used to print the design and to provide design constraints including
feedback for inoperative or impermissible configurations of one or more mechanical components or electrical pathways associated
with the design before the design is printed on the 3D printer;

a simulation engine for simulating, at least, electrical performance of the design, based on one or more electrical components
added to the design and the electrical pathways; and

a library of electrical components that is accessible by the simulation engine to simulate electrical performance of the design.

US Pat. No. 9,659,262

SHARING QUANTITY TAKEOFF DATA BETWEEN COMPUTER AIDED DESIGN PROJECTS

AUTODESK, INC., San Rafa...

1. A method for generating quantity takeoff data for a computer-aided design (CAD) drawing, the method comprising:
parsing the CAD drawing to identify instances of one or more drawing objects in the CAD drawing;
retrieving a collection of takeoff objects from a database, wherein each takeoff object is configured to store a quantify
type, a quantify property, and cost data used to generate a cost estimate for a specified drawing object, and wherein each
takeoff object is associated with a takeoff category that is associated with one or more additional takeoff objects according
to data stored in the database;

mapping each instance of a first drawing object to a takeoff object by:
matching of the first drawing object in the CAD drawing with a takeoff object in the collection of takeoff objects;
generating, for the first drawing object, from the values for the quantify type and the quantify property stored in the matched
takeoff object, a takeoff quantity for all instances of the first drawing object in the CAD drawing;

computing, from the takeoff quantity and the cost data, the cost estimate for all instances of the first drawing object;
in response to determining that all instances of the one or more drawing objects in the CAD drawing are not mapped to a takeoff
object in the collection of takeoff objects:

identifying at least one instance of at least a second drawing object that does not match any takeoff object in the collection
of takeoff objects;

generating, for the second drawing object, a second takeoff object by receiving information defining the second takeoff object;
and

storing the second takeoff object in the collection of takeoff objects in the database; and
generating a hierarchical takeoff report based on the first takeoff object, wherein the hierarchical takeoff report displays,
as sub-elements to the takeoff category associated with the first takeoff object, the values for the quantify type, the quantify
property, the cost data and the cost estimate for all instances of the first drawing object, wherein the CAD drawing comprises
a plurality of different types of drawing objects, each type of drawing object being identified by a different object globally
unique identifier (GUID), and a first drawing object being identified by a first object GUID for a first type of drawing object,
and wherein parsing comprises determining a total number of instances of drawing objects in the CAD drawing having an object
GUID matching the first object GUID.

US Pat. No. 9,659,408

MESH RECONSTRUCTION FROM HETEROGENEOUS SOURCES OF DATA

Autodesk, Inc., San Rafa...

1. A computer-implemented method for reconstructing a surface mesh, comprising:
(a) obtaining photo image data from a set of overlapping photographic images;
(b) obtaining scan data from a scanner, wherein the scan data comprises depth information;
(c) generating a point cloud from a variety of sources, wherein the generating comprises combining the overlapping photo image
data and the scan data;

(d) estimating an initial rough mesh from the point cloud data, wherein the initial rough mesh is used as an input mesh; and
(e) iteratively refining the input mesh into a refined mesh by:
(1) computing a photo term that measures a surface reprojection error on the set of overlapping photographic images using
a photo-consistency measure, wherein the photo-consistency measure determines a consistency between several of the overlapping
photographic images;

(2) computing a scan term that measures a three-dimensional (3D) distance between a surface of the input mesh and the point
cloud;

(3) combining, using a surface cost function, a photo term from the photo image data with a scan term from the scan data;
(4) evolving the input mesh based on the surface cost function; and
(5) repeating the above steps until the input mesh minimizes the surface cost function.

US Pat. No. 9,612,743

MULTI-TOUCH INTEGRATED DESKTOP ENVIRONMENT

AUTODESK, INC., San Rafa...

1. A computer-implemented method for integrating a multi-touch surface into a desktop environment, the method comprising:
detecting a location and orientation of at least one input device on the multi-touch surface;
defining at least one user interface tool region on the multi-touch surface proximate to the location of the at least one
input device;

displaying an enhanced task bar in a first portion of the at least one user interface tool region on the multi-touch surface,
wherein a location of the first portion is based at least in part on the location of a keyboard device detected on the multi-touch
surface, and the enhanced task bar comprises a first plurality of user interface elements, each user interface element included
in the first plurality of user interface elements configured to control a different application window displayed via a display
device, wherein a size and location of each user interface element within the enhanced taskbar conveys a size and location
of a corresponding application window displayed within the display device;

monitoring the multi-touch surface for a change to the location and orientation of the at least one input device; and
in response to the change to the location and orientation of the at least one input device, moving and rotating the at least
one user interface tool region to substantially match the change to the location and orientation of the at least one input
device.

US Pat. No. 9,465,503

IN-PRODUCT QUESTIONS, ANSWERS, AND TIPS

AUTODESK, INC., San Rafa...

1. A computer-implemented method for providing help content related to a software application to a user, the method comprising:
receiving a first discussion element associated with a first user and comprising:
textual input from the first user and related to a first software application, and
first contextual information related to the first software application;
receiving second contextual information associated with a second user and related to the first software application;
determining, via a processing unit, a measure of correlation between the first contextual information and the second contextual
information; and

based on the measure of correlation, determining that the first discussion element is to be transmitted to the second user
and transmitting the first discussion element to the second user.

US Pat. No. 9,921,687

ALWAYS-AVAILABLE INPUT THROUGH FINGER INSTRUMENTATION

AUTODESK, INC., San Rafa...

1. A method for initiating an action in response to a user touching a surface, the method comprising:
receiving a first image from a device instrumenting a finger of the user, wherein the finger is in contact with a surface;
identifying, from the first image, the surface contacted by the finger of the user by identifying a first surface representation
based upon one or more identified texture features extracted from a second image associated with the first surface representation;

matching the identified surface to an action; and
executing the action.

US Pat. No. 9,905,270

TECHNIQUES FOR PROCESSING AND VIEWING VIDEO EVENTS USING EVENT METADATA

AUTODESK, INC., San Rafa...

1. A computer-implemented method, comprising:
receiving one or more audio criteria that characterize a scene of interest in a video file;
determining that an event has been detected at a first point in time based on one or more audio criteria being satisfied at
the first point in time; and

recording an offset timestamp that indicates an amount of time that has elapsed between the beginning of the video file and
the first point in time.

US Pat. No. 9,826,024

SERVER SIDE VIDEO SCREEN CAPTURE

AUTODESK, INC., San Rafa...

1. A computer-implemented method for publishing information that reflects the operation of a software application, the method
comprising:
receiving input data comprising synchronization data from a first software application executing on a first computing device,
wherein the synchronization data includes timestamps that enable a second software application to process events with substantially
similar timing to the first software application, and the first software application and the second software application comprise
different versions of a given software application;

causing the second software application executing on a second computing device to generate output data in response to the
input data and in accordance with the timestamps;

generating a capture sequence that includes at least a portion of the output data and at least a portion of the input data,
and reflects the operation of the second software application; and

publishing the capture sequence for access via a network.

US Pat. No. 9,740,711

AUTOMATIC REGISTRATION

Autodesk, Inc., San Rafa...

1. A computer-implemented method for merging multiple point cloud scans, comprising:
(a) importing a first raw scan file and a second raw scan file, wherein each raw scan file comprises multiple points;
(b) segmenting the first raw scan file and the second raw scan file by extracting first segments from the first raw scan file
and second segments from the second raw scan file;

(c) extracting first features from the first segments and second features from the second segments;
(d) coarsely registering one or more of the first features to one or more of the second features to acquire a set of candidate
matching feature pairs;

(e) refining the registering based on all of the candidate matching feature pairs;
(f) further refining the registering by:
(1) extracting sample points from the extracted first segments and the extracted second segments based on the registering;
and

(2) utilizing the extracted sample points to refine the candidate matching feature pairs;
(g) scoring the candidate matching feature pairs; and
(h) merging the first raw scan file with the second raw scan file based on the scoring.

US Pat. No. 9,646,329

CONFIGURABLE ELECTRONIC BUSINESS CARD

Autodesk, Inc., San Rafa...

1. An electronic business card system comprising:
one or more electronic business cards, an electronic business card being of a form of a one-way dedicated presentation device
for presenting information about a user to an intended recipient that possesses the electronic business card, the electronic
business card being a hand-held, physical device that includes:

a display element;
a memory operable to store information associated with the user, the information being loaded onto the electronic business
card for presentation on the display element;

an electronic interface operable to receive, from a configuration element remote from the electronic business card, the information
and one or more commands for controlling presentation of at least a portion of the information on the display element, including
commands for initial instantiation of the electronic business card and subsequent reconfiguration commands for changing presentation
of information on the electronic business card; and

a controller operable to control presentation of a selected portion of the information based on configuration commands received
from the configuration element remote from the electronic business card and via the electronic interface; and

the configuration element operable to receive configuration instructions from the user and through a user interface remote
from the configuration element and the electronic business card, the instructions for setting a level of detail for information
to be presented on a specific instantiation of the electronic business card, the level of detail being controlled through
the user interface based on categories of card-holders including a per-card-instance or a per-cardholder-type basis and an
extent of business and personal information to be provided to the card-holders in each category, wherein the configuration
element:

evaluates received configuration instructions received from the user, sets a level of detail for the specific instantiation
of the electronic business card,

communicates, using the level of detail based on categories, a level of detail command to the specific instantiation of the
electronic business card for initial instantiation of the electronic business card to enable configuration of the specific
instantiation of the electronic business card so as to present a user-selectable portion of the information on the display
of the specific instantiation of the electronic business card; and

communicates the subsequent reconfiguration commands for changing presentation of information on the electronic business card.

US Pat. No. 9,665,968

COMPUTERIZED IMAGE RENDERING WITH PER-FRAME BUFFER SCENE SEGMENTATION

AUTODESK, INC., San Rafa...

1. A method for rendering images with per-frame buffer scene segmentation, the method comprising:
receiving geometric object data associated with a graphics scene;
receiving lighting data associated with the graphics scene;
receiving relationship data that associates one or more objects in the graphics scene with one or more lights in the graphics
scene;

generating a contribution map based on the relationship data that indicates a first relationship between a first buffer and
at least one object, at least one light, and at least one type of rendering pass and a second relationship between a second
buffer and at least one object, at least one light, and at least one type of rendering pass; and

generating rendering instructions for rendering a first segment and a second segment of the graphics scene, wherein the first
segment comprises the at least one object related to the first buffer and the first rendered segment is stored in the first
frame buffer, wherein the second segment comprises the at least one object related to the second buffer, and the second rendered
segment is stored in the second frame buffer, the first segment and the second segment being rendered in one rendering phase.

US Pat. No. 9,507,763

SCALE INFORMATION FOR DRAWING ANNOTATIONS

Autodesk, Inc., San Rafa...

1. A computer-implemented method, the method comprising:
identifying a drawing scale for a graphical view of a drawing, the drawing scale specifying a ratio of two units, and wherein
the drawing has a plurality of associated annotations, such that each of the annotations are associated with one or more views
and support at least one drawing scale;

selecting one or more annotations as a subset of the plurality of annotations, the one or more annotations determined to be
associated with the graphical view that support the drawing scale, such that the one or more annotations are a subset of the
plurality of annotations, by

identifying the subset of annotations from the plurality of annotations while excluding from the subset ones that are not
associated with the graphical view or do not support the drawing scale, the identifying being based at least in part on the
graphical view and the drawing scale;

retrieving for each of the selected annotations, associated context for the drawing scale, the context specifying one or more
of: the annotation's position in the graphical view, the annotation's style in the graphical view, or the annotation's rotation
in the graphical view; and

adding a graphical representation of each of the selected annotations to the graphical view according to the drawing scale
and each annotation's respective context.

US Pat. No. 9,052,797

NAVIGATION SYSTEM FOR A 3D VIRTUAL SCENE

AUTODESK, INC., San Rafa...

1. A system, comprising:
a display; and
a processor coupled to the display and configured to:
generate a first wheel that is configured to allow a user to navigate a software application, wherein the first wheel includes
a plurality of activation zones, and each activation zone corresponds to a different tool for navigating the software application;

miniaturize the first wheel into a corresponding mini wheel that is configured as a tracking menu and includes a plurality
of pie-shaped wedges, wherein each pie-shaped wedge corresponds to a different one of the activation zones;

cause the mini wheel to follow a system cursor as the system cursor moves within a display area when system cursor hits an
edge of the mini wheel, and

replace the mini wheel with a tool cursor when a mouse event causes a function corresponding to one of the activation zones
to be activated.

US Pat. No. 10,147,242

DISTANCE FIELD COUPLED FITTED DEFORMATION LATTICES FOR SHAPE MODIFICATION

AUTODESK, INC, San Rafae...

1. A computer-implemented method for modifying a three-dimensional (3D) model in a shape editing system, comprising:(a) obtaining the 3D model in the shape editing system;
(b) selecting one or more arbitrary first faces (S) of the 3D model;
(c) identifying, based on the one or more arbitrary first faces (S) a set of one or more second faces (S?) that are fixed, wherein the one or more arbitrary first faces do not overlap with the one or more second faces;
(d) prescribing shape modification operations to be performed on the one or more arbitrary first faces (S);
(e) constructing a deformation lattice by:
(1) setting up a lattice structure with control points, wherein parametric space (u,v,w) is defined in terms of vertices of the lattice structure;
(2) mapping Euclidean space (x,y,z) of the 3D model to the parametric space (u,v,w) of the lattice structure;
(f) evaluating the deformation lattice by:
(1A) when the shape modification operation to be performed on one or more of the arbitrary first faces comprises an affine transformation, applying the affine transformation directly on a set of the control points of the deformation lattice;
(1B) when the shape modification operation to be performed on one or more of the arbitrary does not comprise an affine transformation, deforming the deformation lattice based on a discrete fitting problem; and
(g) outputting a deformed 3D model based on the evaluated deformation lattice.

US Pat. No. 10,049,014

CLOUD PLATFORM FOR MANAGING DESIGN DATA

Autodesk, Inc., San Rafa...

1. A method comprising:identifying, by a server system, a first snapshot, the first snapshot associated with a first source file including a first computer-aided design (CAD) model, wherein the first snapshot includes a first plurality of files converted from the first source file, wherein each of the first plurality of files has a different format and is associated with a respective application of a plurality of applications, and a first version;
receiving, by the server system, a second source file, the second source file having a first format that is readable by a first application of the plurality of applications, the second source file including a second CAD model, the second source file being an updated version of the first source file;
converting, by the server system, the second source file, including the second CAD model, into a second plurality of files, where one or more files in the second plurality of files each has a format that is different from the first format and is readable by an associated application of the plurality of applications, and wherein converting the second CAD model comprises converting a 3-D geometry of the second CAD model into a generic data format file and converting rich information associated with the second CAD model into one or more derivative files that are linked to the generic data format file, the second plurality of files comprising the generic data format file and the one or more derivative files;
generating, by the server system, a second snapshot, the second snapshot including the second plurality of files and a second version; and
associating, by the server system, the second snapshot with the first snapshot.

US Pat. No. 10,042,899

AUTOMATIC REGISTRATION

Autodesk, Inc., San Rafa...

1. A computer-implemented method for merging multiple point cloud scans, comprising:(a) importing a first raw scan file and a second raw scan file for a scene, wherein each raw scan file comprises multiple points;
(b) segmenting the first raw scan file and the second raw scan file by extracting first segments from the first raw scan file and second segments from the second raw scan file, wherein the extracting is based on geometry in the scene;
(c) filtering the first segments and the second segments to:
(1) reduce a number of the first segments and second segments; and
(2) identify first features from the reduced number of first segments and second features from the reduced number of second segments;
(d) coarsely registering one or more of the first features to one or more of the second features to acquire a set of candidate matching feature pairs;
(e) refining the registering by improving alignment of the set of candidate matching feature pairs, wherein the refining the registering is based on points in the first raw scan file and the second raw scan file corresponding to the first features and the second features;
(f) scoring the candidate matching feature pairs; and
(g) merging the first raw scan file with the second raw scan file based on the scoring, to create a merged scan file.

US Pat. No. 9,984,501

ADAPTIVELY MERGING INTERSECTING MESHES

AUTODESK, INC., San Rafa...

1. A computer-implemented method for merging intersecting meshes of primitives, the method comprising:determining an intersection boundary that is defined by an intersection between a first mesh of primitives and a second mesh of primitives;
determining that a first plurality of primitives included in the first mesh of primitives are proximate to the intersection boundary;
determining that a second plurality of primitives included in the second mesh of primitives are proximate to the intersection boundary;
performing a first density refinement operation to reduce a first vertex density associated with the first plurality of primitives;
performing a second density refinement operation to increase a second vertex density associated with the second plurality of primitives, wherein, after the first density refinement operation and the second density refinement operation are performed, the first vertex density and the second vertex density are substantially equal;
removing the first plurality of primitives to form a first mesh boundary associated with the first mesh of primitives;
removing the second plurality of primitives to form a second mesh boundary associated with the second mesh of primitives; and
connecting a first plurality of vertices associated with the first mesh boundary to a second plurality of vertices associated with the second mesh boundary to form a joined boundary.

US Pat. No. 9,734,618

ANIMATING SKETCHES VIA KINETIC TEXTURES

AUTODESK, INC., San Rafa...

1. A computer-implemented method for generating an animation, the method comprising:
generating a first sketch element within a sketch animation, wherein the sketch animation includes one or more static line
drawings;

generating an emitter element within the sketch animation, wherein the emitter element includes at least one line segment
or point;

generating a replicated sketch element based on the first sketch element;
causing the replicated sketch element to move from a first position relative to the emitter element within the sketch animation
to a second position relative to the emitter element within the sketch animation, thereby causing the replicated sketch element
to traverse a first portion of the sketch animation; and

rendering the sketch animation for display on a display device as the first sketch element traverses the first portion of
the sketch animation.

US Pat. No. 9,626,797

GENERATING A CONSENSUS MESH FROM AN INPUT SET OF MESHES

AUTODESK, INC., San Rafa...

1. A computer-implemented method for generating a consensus mesh to cover a set of points, comprising:
generating a plurality of meshes that cover the set of points by varying one or more parameter values of an interpolating
meshing technique, wherein a different set of values for the one or more parameters is used to generate each of the plurality
of meshes;

sorting triangles in the plurality of meshes, in order of decreasing frequency in which the triangles appear in the plurality
of meshes; and

iteratively adding triangles, in the sorted order, to the consensus mesh.

US Pat. No. 9,495,796

ANIMATABLE GRAPHICS LIGHTING ANALYSIS REPORTING

AUTODESK, INC., San Rafa...

1. A method for displaying lighting values associated with a graphics model that includes one or more graphics objects, the
method comprising:
rendering the graphics model to generate a high-quality colored image of the graphics model;
storing the high-quality colored image in a first buffer in a memory;
computing lighting information for every pixel of the high-quality colored image to generate a set of lighting values, wherein
the lighting information is based on a position of at least one light source associated with the graphics model;

storing the set of lighting values in a second buffer in the memory;
generating a display image that includes an overlay grid superimposed on the high-quality colored image, wherein the overlay
grid comprises at least a subset of the set of lighting values, and the overlay grid corresponds to a first position on a
timeline;

storing the display image in a third buffer in the memory; and
transmitting the display image to a graphics processing unit for display.

US Pat. No. 10,074,214

SYSTEMS AND METHODS FOR GENERATING 3D SCENES WITH TIME ELEMENT FOR DISPLAY

Autodesk, Inc., San Rafa...

1. A method comprising:obtaining metadata for two dimensional (2D) images from different sources, wherein the images are related to a location of interest;
searching for discrete image correspondences between pairs of the 2D images;
grouping the 2D images into different time periods, wherein the grouping comprises inferring one or more time periods for a portion of the 2D images that do not have date metadata based on a number of discrete image correspondences found between the portion of the 2D images that do not have date metadata and one or more of the 2D images that do have date metadata;
receiving a selection of at least one of the different time periods;
finding camera intrinsic and extrinsic parameters for each image grouped into the selected time period;
reconstructing a three dimensional (3D) scene of the location of interest during the selected time period from the 2D images grouped into the selected time period using the camera intrinsic and extrinsic parameters; and
providing the 3D scene for use in displaying, on one or more computer output devices, the location of interest from different 3D perspectives.

US Pat. No. 9,830,743

VOLUME-PRESERVING SMOOTHING BRUSH

AUTODESK, Inc., San Rafa...

1. A method for smoothing a three-dimensional (3D) mesh, the method comprising:
identifying a set of vertices within an area of the 3D mesh that is operated on by a volume-preserving mesh smoothing brush
that is configured to smooth the 3D mesh;

for each vertex in the set of vertices, computing a modified position based on the operation of the volume-preserving mesh
smoothing brush, and computing a length of a Laplacian vector corresponding to the modified position computed for the vertex;

computing, for the set of vertices, an average length based on the lengths of the Laplacian vectors computed for the vertices
in the set of vertices;

estimating a change in volume of the 3D mesh based on the modified positions computed for the vertices in the set of vertices;
computing, for each vertex in the set of vertices, an updated position of the vertex based on the modified position computed
for the vertex, the average length computed for the set of vertices, and the estimated change in volume of the 3D mesh; and

inflating the 3D mesh based on the updated positions of the vertices, wherein the volume of the 3D mesh after being inflated
is substantially the same as the volume of the 3D mesh before being operated on by the volume-preserving mesh smoothing brush.

US Pat. No. 9,740,989

TECHNIQUES FOR SLICING A 3D MODEL FOR MANUFACTURING

AUTODESK, INC., San Rafa...

1. A computer-implemented method for determining a layout of slices of a single three-dimensional (3D) model on a manufacturing
material, the method comprising:
receiving a set of dimensions associated with each sheet of the manufacturing material;
generating a first free space data structure associated with a first sheet of the manufacturing material based on the set
of dimensions for tracking free space included in the first sheet;

identifying a first free portion included in the first sheet in which a first slice included in a plurality of slices of the
3D model is to be placed based on the first free space data structure and dimensions associated with the first slice;

updating the first free space data structure to indicate that the first free portion is to be occupied by the first slice;
producing an outline of the first slice on the first free portion included in the first sheet;
identifying another free portion included in the first sheet in which another slice included in a plurality of slices of the
3D model is to be placed, the first slice and the another slice comprising different slices of the 3D model; and

causing the outline of the first slice to be printed.

US Pat. No. 9,652,256

METHOD AND SYSTEM FOR PROVIDING DATA-RELATED INFORMATION AND VIDEOS TO SOFTWARE APPLICATION END-USERS

AUTODESK, Inc., San Rafa...

1. A computer-implemented method for providing data-related instructional information to an end-user of a software application
executing on a computing device, the method comprising:
receiving a selection of a first region of application data associated with the software application on the computing device,
the first region comprising a portion of the application data;

accessing instructional information indicating how to use one or more techniques and/or tools previously used to modify the
first region; and

displaying the instructional information to the end-user via a display associated with the computing device by generating
a hierarchical timeline of images,

wherein a first level of the hierarchical timeline includes a first sequence of two or more thumbnail images that represents
a first modification made to the first region over time, and a second level of the hierarchical timeline includes a second
sequence of two or more thumbnail images that represents a portion of the first modification made to the first region over
time.

US Pat. No. 9,639,655

IMPORTATION AND REPRESENTATION OF PART FAMILIES AND DYNAMIC PART CATALOG GENERATION

Autodesk, Inc., San Rafa...

1. A method implemented by one or more content servers, the method comprising:
obtaining, by one or more processors of the one or more content servers, a first parametric model of a first part, the first
parametric model conforming to a first parametric modeling framework, and the first parametric model comprising a plurality
of first parameters and one or more first constraints between pairs of the first parameters;

generating, by one or more processors of the one or more content servers, a first part family representation from the first
parametric model of the first part, the first part family representation including a plurality of parts each having a same
shape and a different respective size, for each part in the first part family representation, wherein the generated first
part family representation is in a parametric model-independent format, which does not include a parametric model with parameters
and constraints between pairs of parameters;

importing, by one or more processors of the one or more content servers, a second parametric model of a second part, the second
parametric model conforming to a second parametric modeling framework, which is different than the first parametric modelling
framework, and the second parametric model comprising a plurality of second parameters and one or more second constraints
between pairs of the second parameters;

generating, by one or more processors of the one or more content servers, a second part family representation from the second
parametric model of the second part, the second part family representation including a plurality of parts each having a same
shape and a different respective size, for each part in the second part family representation, wherein the generated second
part family representation is in the parametric model-independent format, which does not include a parametric model with parameters
and constraints between pairs of parameters;

making, by one or more processors of the one or more content servers, both the first part family representation in the parametric
model-independent format and the second part family representation in the parametric model-independent format available to
a client device having a particular computer-aided design system;

receiving, by one or more processors of the one or more content servers, a first request from the client device for the first
part family;

converting, by one or more processors of the one or more content servers, the first part family to a format that is compatible
with the particular computer-aided design system of the client device;

providing, by one or more processors of the one or more content servers, the converted first part family to the client device
in response to the first request;

receiving, by one or more processors of the one or more content servers, a second request from the client device for the second
part family;

converting, by one or more processors of the one or more content servers, the second part family to the format that is compatible
with the particular computer-aided design system of the client device; and

providing, by one or more processors of the one or more content servers, the converted second part family to the client device
in response to the second request;

wherein generating the second part family representation from the second parametric model of the second part comprises mapping
properties of the second parametric modeling framework to properties of the first parametric modeling framework, and creating
the second part family representation of the second part using the first parametric modelling framework in accordance with
the mapped properties;

wherein each of the first part family representation and the second part family representation is a fixed-size representation
comprising fixed-size solid objects and non-graphical family data; and

wherein each fixed-size representation of a part family further comprises a static graphic representation showing connection
port locations for the part family.

US Pat. No. 9,665,234

COMMUNITY ENHANCED TUTORIALS: IMPROVING TUTORIALS WITH MULTIPLE DEMONSTRATIONS

AUTODESK, Inc., San Rafa...

1. A method for presenting an online tutorial, the method comprising:
displaying an interactive tutorial in a web page to a user, wherein the interactive tutorial includes both tutorial content
specifying steps to perform a task with an application and an application interface associated with the application used to
perform the task, the interactive tutorial comprising a web-based tutorial executing on a network;

recording the user interacting with the tutorial content to perform the task according to the steps specified by the interactive
tutorial;

augmenting the tutorial content with the recorded user interaction; and
displaying the augmented tutorial content comprising the recorded user interaction in the interactive tutorial in the web
page for access and viewing by other users of a web-based community.

US Pat. No. 9,600,090

MULTI-TOUCH INTEGRATED DESKTOP ENVIRONMENT

AUTODESK, INC., San Rafa...

1. A computer-implemented method for configuring a multi-touch surface to display a digital mouse pad, the method comprising:
defining a region on the multi-touch surface for displaying the digital mouse pad, wherein the region is proximate to a physical
mouse device detected on the multi-touch surface and configured to transmit user input signals to a processing unit;

generating one or more user interface elements that are disposed within the digital mouse pad, wherein each user interface
element is configured to control a different operation within an application window displayed via a display device;

generating an additional user interface element disposed within the digital mouse pad comprising one or more thumbnail image
views of one or more objects disposed in a clipboard;

displaying the digital mouse pad in the region on the multi-touch surface;
detecting multi-touch input associated with a first user interface element disposed within the digital mouse pad; and
performing a first operation within the application window based on the multi-touch input.

US Pat. No. 9,558,574

METHOD AND SYSTEM FOR CONFLATING RASTER AND VECTOR DATA

AUTODESK, INC., San Rafa...

1. A computer-implemented method for generating improved mapping information, the method comprising:
receiving raster data corresponding to a first mapped area;
receiving vector data wherein at least a portion of the vector data corresponds to the first mapped area;
identifying a first set of control points from the raster data and the vector data;
conflating the vector data with a first conflation process based on the first set of control points to produce conflated vector
data;

identifying a second set of control points comprising vertices of vector objects included in the vector data and vertices
of vector objects included in the conflated vector data;

conflating the raster data with a second conflation process based on the second set of control points comprising vertices
of vector objects included in the vector data before and after the vector data is conflated; and

generating hybrid data from the conflated raster data and vector data.

US Pat. No. 9,489,756

GRAPH BASED DEGREE OF FREEDOM COUNTER FOR TWO DIMENSIONAL DRAWINGS

Autodesk, Inc., San Rafa...

1. A computer-implemented method for utilizing a degree of freedom (DOF) for a construction comprising:
(a) a preparation phase comprising constructing a graph structure from a construction model, wherein construction primitives
are transformed into graph primitives, wherein the preparation phase further comprises:

creating an empty graph structure; and
traversing the construction model to populate the graph structure, the traversing comprising:
creating a graph vertex for each joint in the construction model and adding the graph vertex to the graph structure;
creating a graph edge for each beam in the construction model and adding the graph edge to the graph structure, wherein two
or more graph vertices are used as ends of each graph edge;

converting a crossing joint from the construction model into the graph structure; and
converting a welded joint from the construction model into the graph structure;
(b) a searching phase comprising identifying all compact sub-graphs of the graph structure, wherein one of the compact sub-graphs
comprises a trivial compact graph comprising a triangle;

(c) a counting phase comprising:
calculating a DOF for each compact sub-graph; and
adjusting the DOF for all compact sub-graphs based on interactions between the compact sub-graphs;
(d) an internal DOF searching phase comprising:
computing an internal DOF for each compact sub-graph, wherein the internal DOF determines whether the corresponding compact
sub-graph is overconstrained; and

solving an overconstrained compact sub-graph; and
(e) outputting a determination regarding whether a structure of the construction model can be modified based on the DOF and
internal DOF.

US Pat. No. 10,025,454

NAVIGATION SYSTEM FOR A 3D VIRTUAL SCENE

AUTODESK, INC., San Rafa...

1. A system, comprising:a display; and
a processor coupled to the display and configured to:
generate a first graphic that includes a first wheel configured to allow a first user to navigate a software application, wherein the first wheel has a first plurality of activation zones, and each activation zone included in the first plurality of activation zones is associated with a different function in a first plurality of functions for navigating the software application,
generate a second graphic that includes a second wheel configured to allow a second user to navigate the software application, wherein the second wheel has a second plurality of activation zones that comprises a superset of the first plurality of activation zones, and a portion of the activation zones included in the second plurality of activation zones is associated with different functions in a second plurality of functions for navigating the software application that are not included in the first plurality of functions, and
display at least one of the first graphic and the second graphic,
generate a mini wheel, distinct from the first wheel and the second wheel, wherein the mini wheel is a miniaturized version of the second wheel and includes the second plurality of activation zones and corresponding functions from the first plurality and the second plurality of functions,
wherein the mini wheel has a third plurality of activation zones;
display the mini wheel as a pie menu at a position of a cursor, wherein the cursor is hidden when the mini wheel is displayed,
responsive to a first input, highlight a first activation zone located in the third plurality of activation zones that corresponds to a direction of a movement of an input device and highlighting a command that corresponds to the first activation zone,
responsive to a second input, display a tool cursor associated with the first activation zone and remove the mini wheel from the display,
responsive to a third input, execute a first function that is included in either the first plurality of functions or the second plurality of functions and is associated with the first activation zone to modify the software application, and
responsive to a fourth input, replace the displayed tool cursor with the mini wheel.

US Pat. No. 9,886,527

DETERMINING FEASIBLE SPLINES WITH ENGINEERING CONSTRAINTS USING PROJECTION METHODS

Autodesk, Inc., San Rafa...

1. A computer-implemented method for modifying a spline, comprising:
obtaining, in a computer, the spline, wherein the spline comprises a set of connected points, and wherein the spline is representative
of a feature to be constructed outside of the computer and wherein the feature represented by the spline comprises a vertical
road profile of a road;

determining, in the computer, a design constraint set comprising an interpolation constraint, wherein the interpolation constraint
comprises a fixed elevation for one of the connected points;

projecting, in the computer, the spline onto the design constraint set, wherein the projecting comprises modifying the spline,
by a minimum distance in a metric space, by mapping a first elevation of a first connected point of the set of connected points
to match the fixed elevation of the design constraint set, and then moving the first elevation to the fixed elevation;

projecting, in the computer, the modified spline onto the design constraint set iteratively until the spline satisfies all
constraints in the design constraint set; and

generating, in the computer, a computer aided design (CAD) design of the feature represented by the spline, wherein the generating
is based on the projecting steps; and

providing the spline for constructing the road based on the spline.

US Pat. No. 9,841,889

USER INTERFACE NAVIGATION ELEMENTS FOR NAVIGATING DATASETS

AUTODESK, INC., San Rafa...

1. The method for navigating data included in a large data set, the method comprising:
determining a plurality of different data intervals that repeat at least once in a portion of the data set displayed in a
current view of the data set at an active zoom level;

causing a plurality of step buttons to be displayed within a graphical use interface, wherein each step button represents
a different data interval included in the plurality of data intervals;

causing a scroll thumb, a first paging region disposed on a first side of the scroll thumb, and a second paging region disposed
on a second side of the scroll thumb to be displayed within the graphical user interface;

modifying a size of at least one of the first paging region and the second paging region in response to a change in the active
zoom level, wherein a size of the scroll thumb remains substantially the same;

receiving a plurality of scroll events based on user input;
for each scroll event, determining whether the scroll event comprises a step operation or a pan operation;
upon determining that a scroll event included in the plurality of scroll events comprises a step operation, stepping a next
portion of the data set through the current view based on a first data interval included in the plurality of different data
intervals; and

upon determining that a scroll event included in the plurality of scroll events comprises a pan operation, panning a next
portion of the data set through the current view, wherein the pan operation is performed in response to a user input associated
with the first or second paging region.

US Pat. No. 9,817,639

COMPUTATIONAL DESIGN METHOD AND INTERFACE

Autodesk, Inc., San Rafa...

1. A computer-implemented method for defining an object in a parametric modeling application, comprising:
authoring one or more geometric parametric objects in the parametric modeling application;
organizing the one or more geometric parametric objects into a family definition within the parametric modeling application,
wherein a family defined by the family definition:

comprises a template for creation of the one or more geometric parametric objects;
serves as a container of all user authored geometry; and
enables a sharing of designs across projects;
defining, via user input in a user interface of the parametric modeling application, computational logic for a first geometric
parametric object of the one or more geometric parametric objects;

compiling the computational logic into the family definition such that the computational logic is embedded at an object level
of the one or more geometric parametric objects, wherein the computational logic resides in an instantiated version of the
first geometric parametric object, and wherein the computational logic enables the first geometric parametric object to be
self aware such that the first geometric parametric object determines what is within a local context of the first geometric
parametric object, and deploys in a different way based thereon;

determining that a regeneration operation of the family is required, wherein a regeneration operation is required any time
a change occurs in a model, in the parametric modeling application, that affects the first geometric parametric object; and

as part of the regeneration operation, automatically executing the compiled computational logic, wherein the executing of
the compiled computational logic comprises re-creating the one or more geometric parametric objects.

US Pat. No. 9,817,924

SWEEPING A PROFILE ALONG SMALL CIRCULAR ARCS OF A PATH

Autodesk, Inc., San Rafa...

1. A computer-implemented method for sweeping a profile along a circular arc of a path, comprising:
initializing, in a computer-aided design (CAD) application, a sweep operation to sweep a profile along an arc of a path, wherein
the path comprises one or more path segments;

for each path segment that is circular, determining, in the CAD application, whether the profile crosses an axis of revolution
of the circular path segment at a start position of the circular path segment;

trimming, in the CAD application, the profile that crosses the axis of revolution of the circular path segment;
storing the trimmed profile and an association with the circular path segment having the axis of revolution that is crossed
by the trimmed profile; and

performing, in the CAD application, a selective union operation joining solid bodies from the trimmed profiles.

US Pat. No. 9,796,140

AUTOMATED SYSTEMS FOR COMPOSITE PART FABRICATION

Autodesk, Inc., San Rafa...

1. A method comprising:
providing a matrix material and a fiber material separate from the matrix material to a fused deposition modelling (FDM) three
dimensional (3D) printer; and

delivering the matrix material and the fiber material to a printing location of the FDM 3D printer while maintaining separation
of the fiber material from the matrix material up to the printing location of the FDM 3D printer, wherein the delivering comprises
melting the matrix material and embedding the fiber material within the matrix material; and

wherein the matrix material comprises a first polymer, the fiber material comprises a second polymer, and both the first polymer
and the second polymer are formed from a same monomer, but the first polymer has a lower melting temperature than the second
polymer.

US Pat. No. 9,747,721

TECHNIQUE FOR FILLING HOLES IN A THREE-DIMENSIONAL MODEL

AUTODESK, INC., San Rafa...

1. A computer-implemented method for filling a hole in a three-dimensional (3D) model, the method comprising:
generating a first surface that is disposed within the hole in the 3D model;
generating a two-dimensional (2D) surface based on the first surface; and
deforming the 2D surface into a 3D surface that fills the hole in the 3D model.

US Pat. No. 9,736,526

REAL-TIME SCRUBBING OF VIDEOS USING A TWO-DIMENSIONAL GRID OF THUMBNAIL IMAGES

AUTODESK, INC., San Rafa...

1. A method for traversing a video file, the method comprising:
downloading a plurality of representative images associated with the video file prior to streaming the video file, wherein
each representative image included in the plurality of representative images corresponds to a portion of the video file;

populating a two-dimensional array with at least a portion of the plurality of representative images, wherein the two-dimensional
array includes a location indicator;

causing the two-dimensional array to be displayed to a user;
indicating a position in the video file by highlighting one of the representative images populating the displayed two-dimensional
array with the location indicator; and

in response to receiving navigation information associated with a first portion of the video file, causing the location indicator
to traverse the two-dimensional array in a direction parallel with one dimension of the two-dimensional array.

US Pat. No. 9,646,653

TECHNIQUES FOR PROCESSING AND VIEWING VIDEO EVENTS USING EVENT METADATA

AUTODESK, INC., San Rafa...

1. A computer-implemented method for detecting events in a video file, the method comprising:
receiving one or more audio criteria that characterize a scene of interest in the video file, wherein the video file includes
an audio track;

determining that an event is detected at a first point in time associated with the audio track upon determining that the one
or more audio criteria are satisfied at the first point in time; and

recording an offset timestamp for the event that indicates an amount of time that has elapsed between the beginning of the
video file and the first point in time.

US Pat. No. 9,600,151

INTERACTIVE DESIGN VARIATIONS INTERFACE

AUTODESK, INC., San Rafa...

1. A computer-implemented method for generating design variations, the method comprising:
receiving a first selected design objective for a design:
selecting a first design variable and a second design variable associated with the first selected design objective;
generating, via a processor, a first plurality of design variations based on the first selected design objective, wherein
each design variation is generated by a parametric engine that varies at least one of the first design variable and the second
design variable; and

causing the first plurality of design variations to be displayed to a user,
wherein the selecting, generating, and causing are performed automatically in response to receiving the first selected design
objective.

US Pat. No. 9,563,984

INTEGRATING COMPONENTS INTO 3D PRINTED OBJECTS

Autodesk, Inc., San Rafa...

1. A method performed by data processing apparatus, the method comprising:
obtaining a three-dimensional model of a first object to be fabricated by a 3D printer;
receiving an input identifying an additional component to be embedded in the first object when the first object is fabricated,
wherein the additional component uniquely identifies the first object;

obtaining a spatial pattern of conductive circles that uniquely identifies the first object, wherein each conductive circle
is connected to a pathway of conductive material that leads through a body of the first object to an outer surface of the
first object;

generating a digital representation of a machine-readable tag that includes the spatial pattern of conductive circles;
integrating the digital representation of the machine-readable tag with the three-dimensional model;
providing the three-dimensional model with the integrated digital representation to the 3D printer for fabrication; and
storing data associating the first object with the spatial pattern of conductive circles that uniquely identifies the first
object.

US Pat. No. 10,142,198

NODE-CENTRIC ANALYSIS OF DYNAMIC NETWORKS

AUTODESK, INC., San Rafa...

1. A non-transitory computer-readable medium that, when executed by a processor, causes the processor to generate a network timeline for a network by performing the steps of:generating a first network snapshot that depicts, for a first sub-interval of time, a first set of nodes included in the network and a first set of connections associated with the first set of nodes;
generating a second network snapshot that depicts, for a second sub-interval of time, a second set of nodes included in the network and a second set of connections associated with the second set of nodes;
generating a first node timeline included in the first network snapshot and the second network snapshot that is associated with a first node included in the network, wherein the first node timeline indicates one or more topological changes in the network between the first sub-interval of time and the second sub-interval of time;
identifying a first cluster of connected nodes within the network that includes the first node; and
displaying the first node timeline using one or more visual attributes that differ from one or more corresponding visual attributes used to display at least one other node timeline associated with at least one other node that is included within the network and is not included in the first cluster.

US Pat. No. 10,127,267

HARD COPY STATUS CHECK

AUTODESK, INC., San Rafa...

1. A computer-implemented method for validating a file, comprising:(a) outputting a static image of a first version of the file, wherein the outputting comprises:
(1) determining first identifying information that identifies the first version of the file;
(2) generating a first reference identifier that is associated with the first identifying information;
(3) storing the first reference identifier in a database, wherein only the first reference identifier is stored in the database and not the first version of the file;
(4) generating the static image that comprises a visual representation of the first reference identifier;
(b) receiving a second reference identifier that is associated with second identifying information that identifies a second version of the file;
(c) determining, based on the second identifying information, whether the second version of the file is newer than the first version of the file, wherein the determining comprises:
(1) comparing the second identifying information to the first identifying information;
(2) determining that the second version of the file is a most recent version if the second identifying information and the first identifying information are the same; and
(3) determining that the second version of the file is older than the first version of the file if the second identifying information and the first identifying information are different; and
(d) confirming a validity or invalidity of the second version of the file based on the determining step (c).

US Pat. No. 10,108,172

SPIRAL TOOLPATHS FOR HIGH-SPEED MACHINING OF POLYGONAL POCKETS

AUTODESK, INC., San Rafa...

1. A computer-implemented method for constructing a spiral toolpath for machining solid material, comprising:obtaining a polygon P with a polygonal hole H in an interior of P;
obtaining a Voronoi diagram of a set of line segments of P and H;
modifying the Voronoi diagram to provide a modified Voronoi diagram (VD), wherein:
the VD comprises a cycle C having one or more trees growing out from C;
VD comprises a connected plane graph contained within P\H (a set of points that are in an interior or on a boundary of P but not in an interior of H);
each leaf of VD is on a boundary of P or H;
there is at least one leaf of VD on each corner of P and H;
all faces into which VD divides P\H are convex; and
VD contains exactly one cycle, wherein the one cycle is a locus of all points being equally close to a boundary of H and a boundary of P, and H is contained in the one cycle's interior;
for each of the one or more trees, defining a wave model for a wave that starts at time t=0 on leaves on a boundary of H and moves through the tree to hit leaves on a boundary of P at time t=1;
creating a polyline spiral curve toolpath by travelling around the wave as it moves towards the boundary of P, wherein the polyline spiral curve toolpath avoids and is around the hole H; and
milling a pocket in a solid piece of material by following the polyline spiral curve toolpath.

US Pat. No. 10,073,424

INTELLIGENT 3D PRINTING THROUGH OPTIMIZATION OF 3D PRINT PARAMETERS

Autodesk, Inc., San Rafa...

1. A system comprising:three dimensional (3D) printer hardware; and
at least one computer communicatively coupled with the 3D printer hardware, the at least one computer programed to receive 3D print type inputs for an object to be 3D printed and create a 3D print profile comprising parameters for 3D printing the object using the 3D printer hardware by matching the 3D print type inputs against a database;
wherein the at least one computer is programed to perform model analytics to optimize the parameters in the 3D print profile using simulation of the 3D printing and analysis of previous simulation data retrieved from the database for prior 3D prints having corresponding 3D print type inputs, the at least one computer is programed to select a type of the simulation from a plurality of simulations based on the 3D print type inputs, the 3D print type inputs comprise 3D geometry, a 3D printing technique, a material of the 3D printing, and a specific industry application, and the parameters in the 3D print profile comprise ambient conditions, build speed, material conditions, layer thickness and power profiles; and
wherein the at least one computer is programed to operate the 3D printer using the optimized parameters in the 3D print profile to increase 3D print success rate, 3D print quality, 3D print speed, or a combination thereof.

US Pat. No. 10,057,637

REAL-TIME CONTENT FILTERING AND REPLACEMENT

Autodesk, Inc., San Rafa...

1. A computer-implemented method comprising:at a first device, receiving a first user selection of a preference for one or more aesthetic attributes to be associated with the first user and to be projected to a second user capable of viewing either the first user or an object associated with the first user, and storing the preference for the one or more aesthetic attributes;
capturing an image of the first user;
evaluating the preference;
selectively augmenting the image of the first user using the one or more aesthetic attributes and presenting, on the first device, image data that is augmented by the one or more aesthetic attributes;
receiving, at a second different device not associated with the first user, the preference for the one or more aesthetic attributes;
identifying, at the second different device, image data associated with the first user and selectively augmenting the identified image data using the one or more aesthetic attributes; and
presenting, on the second different device, the identified image data that is augmented by the one or more aesthetic attributes.

US Pat. No. 10,008,019

EVALUATION MANAGER FOR 3D ANIMATION SCENES

AUTODESK, INC., San Rafa...

1. A method for processing an evaluation graph associated with a three-dimensional animation scene, the method comprising:retrieving a first plurality of nodes from a memory;
determining that a first node included in the first plurality of nodes depends on a first output generated by a second node that also is included in the first plurality of nodes;
generating a third node corresponding to the first node and a fourth node corresponding to the second node;
generating an evaluation graph that includes the third node, the fourth node, and an indication that the third node depends on the fourth node; and
scheduling the third node for evaluation after the fourth node has been evaluated.

US Pat. No. 9,942,286

COLLABORATION PLATFORM

AUTODESK, INC., San Rafa...

1. A system for collaborating among computers, comprising:a server computer coupled via a communications network to one or more client computers, wherein:
the server computer and the client computers each maintain a copy of a model comprised of a graphical design, wherein the graphical design is composed of two-dimensional (2D) and/or three-dimensional (3D) objects;
the server computer and the client computers each maintain a history of changes made to the model, wherein the history is comprised of one or more deltas containing only results of operations making modifications to the objects, but not the operations themselves;
at least one of the client computers transmits only the deltas to the server computer to update the copy of the model maintained by the server computer, in order to reflect changes made to the copy of the model maintained by the at least one of the client computers; and
the server computer accepts or rejects the transmitted deltas based on delta IDs associated with the objects that were modified, updates the copy of the model and the history maintained by the server computer using only the accepted deltas, but not by replaying the operations making modifications to the objects, and then transmits only the accepted deltas to one or more others of the client computers to update the copy of the model maintained by the one or more others of the client computers, in order to reflect changes made to the copy of the model maintained by the server computer.

US Pat. No. 9,782,934

3D PRINT ADHESION REDUCTION DURING CURE PROCESS

Autodesk, Inc., San Rafa...

1. A system for reducing adhesion during cure processing for a stereolithographic 3D printed object, the system comprising:
an oxygen-permeable resin tank for maintaining a liquid photopolymer resin;
a light source;
a controller for selectively exposing the liquid photopolymer resin to form a solid object in the oxygen-permeable resin tank;
and

a simulation engine operable to estimate an oxygen content at an interface layer between the solid object and a base of the
oxygen-permeable resin tank, compute and identify areas where oxygen content may become exhausted during printing based on
known oxygen diffusion rates through the interface layer and into the liquid photopolymer resin used to construct the solid
object and oxygen depletion rates caused by photo-polymerization.

US Pat. No. 9,704,055

OCCLUSION RENDER MECHANISM FOR POINT CLOUDS

Autodesk, Inc., San Rafa...

1. A computer-implemented method for rendering point cloud data, the method comprising the steps of:
obtaining point cloud data;
fitting one or more polygons to the point cloud data;
creating a texture atlas for each of the one or more polygons;
generating a first lookup table from the texture atlases, wherein the first lookup table maps each pixel in each of the one
or more polygons to a corresponding texture location in the texture atlas;

loading a scene for processing/rendering;
when the scene is loaded, loading the one or more polygons and the texture atlas;
projecting the one or more polygons and the texture atlas into an off-screen buffer, wherein the off-screen buffer defines
a depth map of the scene with approximations of a depth per pixel in screen space;

utilizing the off-screen buffer as a second lookup table to determine texture data to be rendered for the scene, wherein the
off-screen buffer is used to determine whether each pixel in the one or more polygons is occluded or not; and

rendering the scene with the texture data, wherein the rendering comprises retrieving corresponding texture data, from pixels
identified as not-occluded, from disk.

US Pat. No. 9,607,441

MORPHOLOGICAL ATTRACTOR FOR CREATING CUSTOM ANCESTORS IN INHERITANCE-BASED CHARACTER GENERATION

AUTODESK, INC., San Rafa...

1. A computer-implemented method for creating custom three-dimensional (3D) models, comprising:
receiving a morphological attractor comprising a 3D model having features not aligned with corresponding features of a set
of predefined ancestor 3D models;

aligning the features of the set of predefined ancestor models to the corresponding features of the morphological attractor
by applying feature proportions of the morphological attractor to each of the predefined ancestor models to create a second
set of ancestor models; and

blending at least two of the ancestor models in the second set of ancestor models according to user-specified blending settings
to create a child 3D model.

US Pat. No. 9,577,912

IN-PRODUCT MICRO-BLOGGING FOR DESIGN SHARING

AUTODESK, INC., San Rafa...

1. A computer-implemented method for generating a status update message, the method comprising:
monitoring software application activity to determine whether a status update criterion has been met, wherein the status update
criterion indicates that one or more commands have been entered in conjunction with a first attribute of the software application;
and

in response to the status update criterion being met, transmitting a status update message indicating that the update criterion
has been met, wherein the status update message comprises information related to the software application.

US Pat. No. 10,095,817

DETERMINING WIND LOADING OF STRUCTURES THROUGH WIND FLOW SIMULATION

AUTODESK, INC., San Rafa...

1. A computer-implemented method for automatically simulating a wind load, comprising:converting, in a computer, an analytical model to a computer solid model by assigning parameters that influence the wind flow to the computer solid model and automatically generating a computer solid modeling façade for the analytical model, wherein:
the parameters comprise identifying one or more of the elements as open or closed;
the computer solid modeling façade comprises non-structural elements that transfer the loads to a structural frame; and
the analytical model comprises a geometric representation of a structural system;
creating, in the computer, a virtual wind tunnel by simulating a wind flow on the computer solid model to determine pressures on structural elements of the computer solid model;
repeating, in the computer, the simulating until convergence of the pressures;
converting, in the computer, the pressures to loads on the structural elements; and
generating, in the computer, load cases with equivalent load on the structural elements.

US Pat. No. 10,083,204

PLATFORM FOR AUTHORING, STORING, AND SEARCHING WORKFLOWS

AUTODESK, INC., San Rafa...

1. A computer-implemented method for searching workflows, the method comprising:receiving, at a server computer, a search tag;
producing, at the server computer, a set of database queries for performing a search within a graph database based on the search tag, wherein the graph database stores a plurality of workflows and a tag taxonomy, each workflow includes a plurality of workflow item nodes, and the tag taxonomy includes a plurality of tag nodes representing a plurality of tags; and
sending the set of database queries to the graph database for execution.

US Pat. No. 10,056,934

DYNAMICALLY CONFIGURABLE ANTENNAS

AUTODESK, INC., San Rafa...

1. An antenna configured for a range of antenna geometries, the antenna comprising:a first communication link configured to transport data signals; and
a first antenna element coupled to the first communication link and configured to:
receive a first control signal,
in response to the first control signal, alter a structural characteristic of at least a first portion of the first antenna element to cause a first connection to be formed between the first portion of the first antenna element and a second antenna element,
receive a second control signal, and
in response to the second control signal, alter the structural characteristic of at least the first portion of the first antenna element to cause a different connection to be formed between the first portion of the first antenna element and a third antenna element, wherein the third antenna element is different than the second antenna element.

US Pat. No. 10,054,932

TECHNIQUES FOR TWO-WAY SLICING OF A 3D MODEL FOR MANUFACTURING

AUTODESK, INC., San Rafa...

1. A computer-implemented method for identifying locations on two slices associated with a three-dimensional (3D) model generated by a software application where the two slices are to be connected, the method comprising:slicing the 3D model along a first axis to generate a plurality of slices that includes a first slice, wherein each slice in the plurality of slices corresponds to a different position on the first axis;
slicing the 3D model along a second axis that is orthogonal to the first axis to generate a complementary slice associated with the first slice; and
identifying a slot on the complementary slice where, when the first slice and the complementary slice are manufactured, the complementary slice is to couple to the first slice based on a first position corresponding to the first slice.

US Pat. No. 9,996,969

DYNAMICALLY CREATING AND PRESENTING A THREE-DIMENSIONAL (3D) VIEW OF A SCENE BY COMBINING COLOR, BRIGHTNESS, AND INTENSITY FROM MULTIPLE SCAN DATA SOURCES

Autodesk, Inc., San Rafa...

1. A computer-implemented method for dynamically generating a three-dimensional (3D) scene, comprising:acquiring a red green blue (RGB) image of the 3D scene, wherein the RGB image is in RGB color space;
converting the RGB image from RGB color space to a luminance (Y) and chrominance (UV) image in YUV color space comprising luminance (Y) information and UV information;
acquiring reflectance information of the 3D scene from a laser scanner;
based on a blending function, blending the luminance information with the reflectance information resulting in a blended YUV image, wherein the blending function provides for completely replacing the luminance information with the reflectance information;
converting the blended YUV image from YUV color space into RGB color space resulting in a blended RGB image; and
outputting the blended RGB image.

US Pat. No. 9,959,656

SYSTEM AND METHOD FOR ANIMATING COLLISION-FREE SEQUENCES OF MOTIONS FOR OBJECTS PLACED ACROSS A SURFACE

AUTODESK, INC., San Rafa...

1. A computer-implemented method for generating aR computerized animation, the method comprising:applying, via a processor, a first motion included in a set of motions to a first object in the computerized animation;
establishing, for a second object in the computerized animation, a first bounding area that represents an area covered by the second object when digitally animated by a second motion included in the set of motions;
establishing, for the first object, a second bounding area that represents an area covered by the first object when digitally animated by a third motion included in the set of motions;
determining that the second bounding area does not intersect the first bounding area; and
scheduling the third motion to be applied to the first object when the first motion terminates.

US Pat. No. 9,928,621

LINE STYLIZATION THROUGH GRAPHICS PROCESSOR UNIT (GPU) TEXTURES

Autodesk, Inc., San Rafa...

1. A computer-implemented method for rendering a line, comprising:acquiring, using a central processing unit (CPU), linetype information for a pattern of a linetype for the line, wherein the pattern comprises one or more dots and one or more dashes;
storing, using the CPU, the pattern in a texture by encoding: (i) one or more types of elements of the pattern; and (ii) a texel center location, wherein the texel center location comprises a floating point value;
passing the texture from the CPU to the GPU for rendering of the line;
a graphics processing unit (GPU) rendering the line by:
computing a distance between a pixel of the line and the texel center location;
determining if the distance exceeds a threshold;
rendering the pixel if the distance is within the threshold, wherein the GPU renders the line based on a zoom operation and maintains zoom invariance for the one or more dots while the one or more dashes scale in length.

US Pat. No. 9,916,683

TECHNIQUES FOR APPROXIMATING THREE-DIMENSIONAL CURVES USING FOLDABLE BEAMS

AUTODESK, INC., San Rafa...

1. A computer-implemented method for generating a foldable beam polyline for constructing a three-dimensional (3D) object,
the method comprising:
computing by at least one processor included in a computing device a first candidate foldable beam polyline that approximates
a 3D curve included in the 3D object;

verifying that the first candidate foldable beam polyline complies with a set of manufacturing constraints;
computing by the at least one processor a second candidate foldable beam polyline that approximates the 3D curve;
verifying that the second candidate foldable beam polyline complies with the set of manufacturing constraints;
setting the foldable beam polyline equal to either the first candidate foldable beam polyline or the second candidate foldable
beam polyline based on whether a difference between the first candidate foldable beam polyline and the 3D curve is less than
a difference between the second candidate foldable beam polyline and the 3D curve; and

after setting the foldable beam polyline equal to either the first candidate foldable beam polyline or the second candidate
foldable beam polyline, causing the foldable beam polyline to be transmitted to a 3D printer for fabricating the 3D object.

US Pat. No. 9,891,791

GENERATING AN INTERACTIVE GRAPH FROM A BUILDING INFORMATION MODEL

Autodesk, Inc., San Rafa...

1. A computer implemented method comprising:
processing building information model data to identify a plurality of building entities, each building entity representing
a respective feature of a building modeled by the building information model data, wherein processing comprises parsing the
building information model data to further generate a set of tessellate geometry for each of the plurality of building entities
respectively, wherein the set of tessellate geometry is used to render corresponding two dimensional views of each of the
plurality of building entities;

processing a plurality of simulated user interactions corresponding to presentations of the two dimensional views of each
of the plurality of building entities, wherein the plurality of simulated user interactions is based on a set of permitted
user interactions associated with each corresponding view of the building entity;

determining relationships between different respective pairs of the building entities, including determining a particular
relationship between a first building entity and a second building entity;

obtaining data representing an interaction graph for the plurality of building entities, wherein the interaction graph has
nodes and links, each node representing a building entity of the building, and wherein each link connects a corresponding
pair of nodes and represents a simulated user interaction with a presentation of a building entity represented by a first
node of the pair from the processed plurality of simulated user interactions, the simulated user interaction resulting in
a request for a presentation of another building entity represented by a second node of the pair;

identifying a first node in the interaction graph corresponding to the first building entity, a second node in the interaction
graph corresponding to the second building entity, and a link between the first node and the second node, the link representing
a first permitted user interaction from the set of permitted user interactions associated with a first presentation of the
first building entity;

generating a first presentation comprising a first predetermined view of the first building entity based on the generated
set of tessellate geometry for the first building entity, wherein the first presentation comprises a selectable reference
for the first permitted user interaction with the first presentation, the selectable reference representing the particular
relationship between the first building entity and the second building entity;

determining a second predetermined view of the second building entity according to the particular relationship represented
by the selectable reference in the first presentation;

generating a second presentation based on the generated set of tessellate geometry for the second building entity and comprising
the second predetermined view of the second building entity;

after generating the first presentation and the second presentation, receiving, over a network from a user device of a user,
a user request for the first presentation of the first predetermined view of the first building entity;

providing the first presentation of the first predetermined view of the first building entity for presentation to the user
at the user device;

receiving an indication of user interaction with the selectable reference within the first presentation; and
in response to receiving the indication, providing the second presentation of the second predetermined view of the second
building entity for presentation to the user at the user device.

US Pat. No. 9,727,569

TRANSITIVE FILE COPYING

Autodesk, Inc., San Rafa...

1. A computer implemented method for copying files, comprising:
(a) initializing, at a target, a request to copy a first file from a first source location on a source to a first target location
on the target, wherein:

(i) the target is receiving a solid modeling assembly comprising multiple unique parts, wherein each unique part has a corresponding
part file; and

(ii) the request further comprises the solid modeling assembly;
(b) transmitting the request, from the target to the source;
(c) in response to the transmitting, receiving, at the target, from the source, a first checksum value of the first file;
(d) prior to performing a copy operation, performing a query, at the target, using the first checksum value to find a second
source location on the target for a second file, wherein:

(i) the second file has a second checksum value that is equivalent to the first checksum value; and
(ii) the query indicates that the second file is located at the second source location on the target;
(e) determining, based on the query, whether to copy the first file from the first source location or the second file from
the second source location; and

(f) based on the determining and in response to the request, copying the second source file to the first target location on
the target instead of copying the first file from the first source location, wherein instead of copying all of the part files
in the modeling assembly from the source to the target, changed part files are copied from the source to the target, and remaining
part files in the modeling assembly are copied from the second source location on the target to the first target location
on the target.

US Pat. No. 9,669,586

MATERIAL DISPENSING SYSTEM

Autodesk, Inc., San Rafa...

1. A material deposition system comprising:
an extruder for deposition materials, the extruder comprising two or more material entry ports, a mixing chamber, and an exit
orifice; and

a controller coupled with the extruder, the controller configured and arranged to dynamically change delivery rates of the
deposition materials to be mixed in the mixing chamber before flowing from the exit orifice;

wherein the controller combines a desired volume flow rate of material to flow from the exit orifice with a mix ratio to specify
the delivery rates of the deposition materials;

wherein the extruder comprises two or more liquefication zones, each of the liquefication zones being associated with a respective
one of the entry ports and each being configured and arranged to deliver a respective liquefied material to the mixing chamber,
and wherein each of the liquefication zones has an entry cross sectional area and an exit cross sectional area, and the exit
cross sectional area is less than the entry cross sectional area; and

wherein each of the liquefication zones has at least one internal cross sectional area that is less than the entry cross sectional
area and greater than the exit cross sectional area such that material travelling through the liquefication zone reduces in
cross sectional area more than once as it travels from its entry port to the mixing chamber.

US Pat. No. 10,073,881

PLATFORM FOR AUTHORING, STORING, AND SEARCHING WORKFLOWS

AUTODESK, INC., San Rafa...

1. A computer-implemented method for authoring a workflow, the method comprising:receiving, at a server computer, a client workflow comprising an arrangement of shapes and connections, each shape representing a step of the client workflow and each connection representing a relationship between two steps of the client workflow;
generating, at the server computer, a set of database queries for producing a database workflow corresponding to the client workflow, the database workflow comprising an arrangement of step nodes and step edges, each step node representing a step of the client workflow and each step edge representing a relationship between two steps of the client workflow; and
sending the set of database queries to a graph database for execution.

US Pat. No. 9,986,225

TECHNIQUES FOR CUT-AWAY STEREO CONTENT IN A STEREOSCOPIC DISPLAY

AUTODESK, INC., San Rafa...

19. A computing device comprising:a processor; and
a memory that is coupled to the processor and includes instructions that, when executed, cause the processor to perform the steps of:
determining a first position of an object within a region of display space proximate to a stereoscopic display device;
calculating a second position of a virtual object in the region;
determining a first portion of the virtual object that is farther away from the stereoscopic display device than the first position when the virtual object is disposed at the second position; and
causing the stereoscopic display device to stereoscopically render for display a first portion of the virtual object that do not include the first portion, wherein rendering the first portion of the virtual object does not render a second portion of the virtual object that extends beyond an occluded portion of the virtual object that is occluded by the object, in order to reduce conflicting visual cues between the object and the virtual object; and
causing the stereoscopic display device to render an outline of the first portion of the virtual object.

US Pat. No. 9,934,607

REAL-TIME GOAL SPACE STEERING FOR DATA-DRIVEN CHARACTER ANIMATION

AUTODESK, INC., San Rafa...

1. A method implemented on a computer for rendering one or more frames of an animated character, the method comprising:determining a current blending value used to blend frames from at least two motion clips in rendering a current fame, wherein the two motion clips are selected from a plurality of motion clips forming a motion space, and wherein each of the plurality of motion clips corresponds to an instance of a given motion performed by the character at a different turning rate;
selecting, based on the current blending value and a goal location, a new blending value to render the animated character in a subsequent frame, wherein the new blending value steers the character towards the goal location; and
generating, via a processor, a rendered animation clip associated with the animation character based on the new blending value.

US Pat. No. 9,895,841

USER SPECIFIC DESIGN CUSTOMIZATION FOR 3D PRINTING

Autodesk, Inc., San Rafa...

1. A computer-implemented method comprising:
storing a product design in a database, wherein the product design comprises a customization vector for a customizable attribute
of the product design, wherein the customization vector includes two or more customizable attributes including the customizable
attribute;

storing style data representing a style in a style database, wherein the style data comprises values for each of two or more
style attributes, including a style attribute, which are usable to customize different types of products, wherein storing
the style data representing the style includes storing style data for each of the two or more style attributes including the
style data for the style attribute;

storing an identifier of a user in a user database that associates the user with the style;
receiving data indicating selection of the product design by the user after storing the identifier of the user in the user
database that associates the user with the style;

determining, using the identifier of the user, to apply the style, from multiple styles in the style database, to the product
design;

in response to determining to apply the style to the product design, determining that the customizable attribute and the style
attribute are the same attribute;

creating a user-specific design by modifying values of the customization vector of the product design using the style data
in response to determining that the customizable attribute and the style attribute are the same attribute, wherein modifying
the customization vector comprises, for each of the two or more customizable attributes:

matching the customizable attribute for the customization vector to the corresponding style data for the corresponding style
attribute in the style; and

applying the matched style data to the customizable attribute for the customization vector to create the user-specific design;
and

providing data representing the user-specific design for display.

US Pat. No. 9,842,436

SEAMLESS TEXTURE TRANSFER

Autodesk, Inc., San Rafa...

1. A computer-implemented method for seamlessly transferring a texture, comprising:
acquiring an image, wherein the image comprises an object to be concealed;
activating a conceal tool;
defining a source patch comprising a first collection of one or more pixels within the image;
defining a target patch comprising a second collection of one or more pixels within the image, wherein the target patch is
located over the object; and

concealing the object by mapping the source patch onto the target patch using a transformation (T)
measuring a contrast along a boundary between the source patch and the target patch;
the contrast is measured using Weber's law based on a difference divided by an original value, wherein the contrast is computed
as:

CONTRAST=ATAN(ABSOLUTE((t?s)/t))
wherein ATAN is an arctangent function, t is a target pixel value, and s is a source pixel value; and
defining colors for pixels in the target patch based on the contrast, wherein the color of the one of the one or more pixels
in the second collection is rejected when the computed contrast is larger than a specified threshold value.

US Pat. No. 9,778,828

PRESENTING OBJECT PROPERTIES

Autodesk, Inc., San Rafa...

1. A computer-implemented method, comprising:
providing an interactive display element in a graphical user interface (GUI) of a computer aided design tool wherein the interactive
display element has an arrangement of property fields related to a selected component, and wherein the interactive display
element is resizable and repositionable in the GUI so as to enable simultaneous viewing of a given selected component in a
model along with the interactive display element including arrangement of property fields;

receiving a selection of a component of a model presented in the GUI;
determining current property values associated with the property fields based on the selected component;
providing the determined current property values in corresponding property fields of the interactive display element for presentation
in the GUI in conjunction with the model including providing the determined current property values in the interactive display
element, wherein providing the determined current property values comprises providing a thumbnail image of the component in
an image field for presentation in the GUI and positioning and sizing the interactive display element for simultaneous viewing
of the interactive display element including the determined current property values and the selected component of the model,
wherein the selected component is highlighted in a view at its respective location in the model, and wherein the interactive
display element is operable to access a revision history of the selected component; and

responsive to receiving input through the interactive display element, the input indicating selection of a revision of the
selected component,

determining one or more different prior property values associated with the property fields based on the revision of the selected
component obtained from the revision history, and

providing the determined one or more different prior property values in one or more corresponding property fields of the interactive
display element for presentation in the GUI in conjunction with the model including highlighting the determined one or more
different prior property values in the interactive display element.

US Pat. No. 9,733,792

SPATIALLY-AWARE PROJECTION PEN

AUTODESK, INC., San Rafa...

1. A spatially-aware projection pen system, comprising:
an input mechanism configured to be activated and deactivated by a user;
a position tracking mechanism configured to determine a position of the spatially-aware projection pen within a three-dimensional
space and relative to a display surface;

a memory configured to store design data, image data, and an application program, wherein the design data comprises computer-aided
design (CAD) data;

a processor configured to:
execute the application program to generate at least a portion of the image data based on the CAD data and printed content
on the display surface,

receive input signals from the input mechanism and the position tracking mechanism, and
generate a projected image based on the image data, the input signals and the position of the spatially-aware projection pen,
wherein the proiected image includes a plurality of visual components, and wherein a geometry and a location of each visual
component corresponds to a different content portion of the printed content;

a projector configured to display the projected image overlaid on the printed content, wherein a location of the projected
image is locked relative to the printed content and remains static as the position of the spatially-aware projection pen changes;
and

an enclosure configured to be grasped by a human hand and house the input mechanism, the position tracking mechanism, the
memory, the projector, and the processor.

US Pat. No. 9,754,412

TECHNIQUES FOR SLICING A 3D MODEL FOR MANUFACTURING

AUTODESK, INC., San Rafa...

1. A computer-implemented method for identifying locations on two slices associated with a three-dimensional (3D) model where
the two slices are configured to be connected, the method comprising:
determining that a first slice associated with the 3D model is to be connected to a second slice associated with the 3D model,
wherein the first slice and the second slice comprise consecutive slices to be fabricated from one or more sheets of a manufacturing
material and resulting from the 3D model being sliced along at least one axis;

generating a first grid associated with the first slice and a second grid associated with a second slice;
identifying a first location on the first grid;
identifying a second location on the second grid that is a pre-determined distance from a first boundary of the second grid;
identifying a first connection location on the first slice that corresponds to the first location on the first grid and a
second connection location on the second slice that corresponds to the second location on the second grid; and

associating both of the first connection location and the second connection location with the same unique identifier, wherein
the first slice and the second slice are configured to be connected at the first connection location and the second connection
location,

wherein identifying the first location on the first grid comprises overlaying the first grid on the second grid, and identifying
a first cell of the first grid that overlaps with a second cell of the second grid and is the pre-determined distance from
the first boundary, wherein the first cell and the second cell correspond to the first location.

US Pat. No. 9,671,942

DYNAMIC USER INTERFACE FOR INHERITANCE BASED AVATAR GENERATION

AUTODESK, INC., San Rafa...

1. A method, comprising:
receiving a selection of a plurality of paternal grandparent avatars, the plurality of paternal grandparent avatars having
more than two members;

for each paternal grandparent avatar included in the plurality of paternal grandparent avatars, setting a corresponding first
weighting in a plurality of first weightings, comprising:

receiving a first weighting for each paternal grandparent avatar included in the plurality of paternal grandparent avatars
other than a first paternal grandparent avatar included in the plurality of paternal grandparent avatars,

calculating a sum of the first weightings, and
setting the first weighting for the first paternal grandparent avatar by subtracting the sum from one;
receiving a selection of a plurality of maternal grandparent avatars, the plurality of maternal grandparent avatars having
more than two members;

for each maternal grandparent avatar included in the plurality of maternal grandparent avatars, setting a corresponding second
weighting in a plurality of second weightings;

receiving a family weighting that specifies a third weighting between a father avatar associated with the plurality of paternal
grandparent avatars and a mother avatar associated with the plurality of maternal grandparent avatars;

generating an offspring avatar based on the plurality of first weightings, the plurality of second weightings, and the third
weighting; and

storing the offspring avatar on a non-transitory computer readable storage medium.

US Pat. No. 9,607,111

SPATIAL INFORMATION MODELING OF BUILDINGS USING NON-MANIFOLD TOPOLOGY VIA A 3D GEOMETRIC MODELING KERNEL AND DESIGNSCRIPT

Autodesk, Inc., San Rafa...

1. A computer-implemented method for utilizing a spatial model comprising:
(a) obtaining a first input body and a second input body for a building;
(b) performing a non-regular Boolean operation combining the first input body and the second input body to create and output
an output body, wherein:

(1) the output body comprises a spatial model represented by a non-manifold solid body, wherein the spatial model represents
an enclosure of space of the building, and the building is partitioned into discrete cells representing interior spaces or
rooms of the building; and

(2) in the non-regular Boolean operation, external faces of the first input body and the second input body that are within
the output body are retained thus becoming double-sided interior faces; and

(c) exposing a topological property of the non-manifold solid body to select and control an attribute of a building component
represented by the non-manifold solid body.

US Pat. No. 9,552,670

SYSTEM AND METHOD FOR TRIANGULATION OF NON-SIMPLE, MULTIPLY-CONNECTED, MULTI-STYLED SHAPES

AUTODESK, INC., San Rafa...

1. A computer-implemented method for displaying an image having a plurality of multi-styled shapes on a computer display,
comprising:
creating a plurality of monotone chains corresponding to each of the plurality of multi-styled shapes;
creating, via a microprocessor, a monotone chain table populated with the plurality of monotone chains;
assigning a plurality of scan beams corresponding to the plurality of monotone chains;
identifying a left style and a right style corresponding to each of the plurality of monotone chains between two adjacent
scan beams;

computing a plurality of monotone polygons corresponding to the monotone chains, wherein each edge included in each monotone
polygon is part of a monotone chain having a left style and a right style; and

computing a plurality of triangles from the plurality of monotone polygons.

US Pat. No. 10,026,210

BEHAVIORAL MOTION SPACE BLENDING FOR GOAL-ORIENTED CHARACTER ANIMATION

AUTODESK, INC., San Rafa...

1. A method for generating a behavioral motion space, the method comprising:receiving a plurality of motion spaces, wherein each motion space includes a plurality of motion clips depicting a character performing a periodic motion;
processing each of the motion spaces so that each motion clip in a given motion space has a same number of cycles as the periodic motion as every other motion clip in the given motion space;
performing a padding operation that includes:
selecting a first frame to start a motion loop in a first motion clip;
generating a two-frame segment that includes the first frame and a second frame that immediately precedes the first frame in the motion loop; and
appending the two-frame segment to the last frame of the first motion clip;
determining a reference motion clip for each of the plurality of motion spaces, wherein the reference motion clip for each motion space is representative of the periodic motion depicted in the corresponding motion space;
computing, based on the reference motion clip for each of the plurality of motion spaces, a set of temporal registration curves between the plurality of motion spaces;
identifying the first motion clip in a first motion space and a second motion clip in a second motion space that are both associated with a common curvature characteristic; and
computing, via a computing device, a cross registration curve that defines a blended motion between the first motion clip and the second motion clip.

US Pat. No. 10,026,213

FILTERING FOR 3D SCENE RENDERING USING RAY DIVERGENCE

Autodesk, Inc., San Rafa...

1. A method comprising:performing, by a computer, ray tracing for a scene to be rendered by the computer, wherein performing the ray tracing comprises
calculating a ray spread value for a ray propagated through the scene, the ray spread value being calculated based on a reflection geometry of at least one surface within the scene, wherein calculating the ray spread value comprises computing a ray differential for the ray propagated through the scene, and
calculating a ray divergence value for the ray propagated through the scene, the ray divergence value being calculated based on one or more material properties of the at least one surface, wherein calculating the ray divergence value comprises computing an estimate of divergence based on the one or more material properties and a geometric model of light diffusion;
defining, by the computer, a filter using both the calculated ray spread value and the calculated ray divergence value; and
rendering, by the computer, the scene using the filter.

US Pat. No. 9,908,295

3D PRINTED AUXETIC STRUCTURES

Autodesk, Inc., San Rafa...

1. A system comprising:
one or more computer storage media having instructions stored thereon; and
one or more data processing apparatus configured to execute the instructions to perform operations comprising (i) receiving
an input specifying a three dimensional (3D) model of a 3D structure that includes at least two different materials having
a predefined arrangement with respect to each other to give the 3D structure a negative Poisson ratio, (ii) receiving an input
regarding a change for the 3D structure, and (iii) modifying the predefined arrangement of the at least two different materials
with respect to each other in response to the input regarding the change;

wherein the 3D structure comprises a repeated pattern of struts forming elements of a lattice, a strut in the repeated pattern
comprises (i) a first material forming at least a first part of the strut and (ii) a second different material forming at
least a second part of the strut, and the one or more data processing apparatus are configured to execute the instructions
to perform operations comprising adjusting, in the 3D model of the lattice, a gradation of change in material distribution
between the first material and the second material in the strut based on input; and

wherein the 3D structure comprises at least two different structural configurations that deform differently in response to
a load, and the one or more data processing apparatus are configured to execute the instructions to perform operations comprising
embedding human or computer readable information in a pattern of deformation of a first of the at least two different structural
configurations, a second of the at least two different structural configurations, or both the first structural configuration
and the second structural configuration in the 3D structure.

US Pat. No. 9,841,750

DYNAMIC REAL-TIME SLICE ENGINE FOR 3D PRINTING

Autodesk, Inc., San Rafa...

1. A method for 3D printing without a necessity to pre-process a computer-aided design (CAD) model before delivery to a 3D
printer, the method comprising:
receiving, by a 3D printer, a CAD model for a design to be printed by the 3D printer;
processing the CAD model to identify a first slice and generating instructions for printing the first slice;
using the generated instructions to start printing of the CAD model; and
in parallel with the printing, performing dynamic real-time slicing on a remaining portion of the CAD model including:
receiving pre-processed data, model analysis information or real-time feedback during the printing of a respective slice;
identifying a next slice for printing including adjusting one or more slicing parameters based on the received pre-processed
data, model analysis information or real-time feedback, wherein adjusting includes adjusting a slicing parameter for the next
slice to be printed by the 3D printer, and wherein adjusting one or more slicing parameters further includes adjusting a slice
thickness based on one or more of CAD model geometry or user input including slicing at least two different slice thicknesses
when printing the CAD model, wherein the user input is received after the start of printing and controls a speed at which
a remaining portion of printing occurs, with higher speed resulting in greater thickness slices;

generating instructions for printing the next slice; and
printing the next slice based on the generated instructions and, in parallel, repeating the performing dynamic real-time slicing
to generate a then next slice and associated instructions for printing.

US Pat. No. 9,805,482

COMPUTER-IMPLEMENTED TUTORIAL FOR VISUAL MANIPULATION SOFTWARE

AUTODESK, INC., San Rafa...

1. A computer-implemented method for reproducing authored content in a visual manipulation software environment, the method
comprising:
causing a first stroke associated with a digital drawing that was previously created by a first user to be displayed to a
second user at a first plurality of rates, wherein the first plurality of rates at which the first stroke is displayed correspond
to a second plurality of rates at which the first stroke was created;

receiving from the second user input that is associated with the first stroke;
generating a second stroke associated with another version of the digital drawing for display based on the input received
from the second user;

comparing the first stroke to the second stroke to generate a ratio that reflects a degree of similarity between the first
stroke and the second stroke, wherein the ratio is based on a first stroke time associated with the first stroke and a second
stroke time associated with the second stroke; and

interpolating between the first stroke and the second stroke, based on the ratio, to generate a modified second stroke.

US Pat. No. 9,754,054

AUTOMATIC EXPLODE BASED ON OCCLUSION

Autodesk, Inc., San Rafa...

1. A computer-implemented method comprising:
determining a first separation direction for separating a first component of a three-dimensional assembly of components from
a second component of the assembly of components including determining an occlusion measure for an occlusion view, wherein
the occlusion view represents the first component and the second component in a respective viewing direction and identifies
a region where the first component is physically blocked from movement along the respective viewing direction by the second
component;

determining when the occlusion measure satisfies a criterion;
selecting the respective viewing direction associated with the occlusion view as the first separation direction; and
updating a rendering of the assembly of components to show the first component spatially separated from the second component
by positioning one of the first component and the second component along the first separation direction.

US Pat. No. 9,690,880

GOAL-DRIVEN COMPUTER AIDED DESIGN WORKFLOW

AUTODESK, INC., San Rafa...

1. A computer-implemented method for generating structural geometry, the method comprising:
receiving a design specification for a physical component that defines a set of requirements that the physical component should
meet;

executing a design strategy to generate a structural geometry that reflects the design specification;
evaluating one or more physical characteristics of the structural geometry to confirm that the structural geometry meets the
set of requirements defined by the design specification; and

displaying the structural geometry to an end-user.

US Pat. No. 9,644,599

ENHANCED DISK ACTUATOR MODELING

Autodesk, Inc., San Rafa...

1. A computer-implemented method comprising:
obtaining a plurality of parameters of a design of a blade wheel of an axial flow turbo machine, including lift coefficients
and drag coefficients for the blade wheel for each of a plurality of angles of attack ?i and for each of a plurality of cross sections rj of the blade wheel; from a minimum radius rmin of the blade wheel to a maximum radius rmax of the blade wheel;

obtaining mass jump conditions, momentum jump conditions, and energy jump conditions of a two-dimensional blade element model
of the blade wheel, wherein the mass jump conditions, momentum jump conditions, and energy jump conditions each specify a
relationship between upstream flow field parameters and downstream flow field parameters of the blade wheel;

computing upstream flow field parameters and downstream flow field parameters that satisfy the mass jump conditions, momentum
jump conditions, and energy jump conditions of the two-dimensional blade element model;

computing momentum jump values across the swept area of the blade wheel using the computed upstream flow field parameters
and the computed downstream flow field parameters that satisfy the mass jump conditions, momentum jump conditions, and energy
jump conditions of the two-dimensional blade element model;

computing one or more turbine parameters for the axial flow turbo machine including computing an approximation of total torque
for the design of the blade wheel by aggregating the momentum jump values across the swept area of the blade wheel; and

outputting the design of the blade wheel based on the computed one or more turbine parameters.

US Pat. No. 9,619,587

DECOMPOSITION OF 3D GEOMETRY INTO DEVELOPABLE SURFACE PATCHES AND 2D CUT PATTERNS

AUTODESK, INC., San Rafa...

1. A computer-implemented method for decomposing three-dimensional (3D) geometry into developable surface patches, comprising:
receiving the 3D geometry;
growing, via a processor, surface patches from faces in the 3D geometry until the surface patches become stabilized by:
selecting one or more seed faces, from the faces in the 3D geometry, as initializations of the surface patches, and
up to a distance threshold, iteratively adding faces to the surface patches, wherein, at each iteration, a face with minimum
distance to a patch proxy is added to a patch associated with the patch proxy, wherein the patch proxy includes an axis and
an opening angle,

wherein the surface patches become stabilized when, as a result of a particular iteration, less than a threshold amount of
a total area of the faces in the 3D geometry is added to a surface patch or is reassigned to a different surface patch; and

cutting one or more physical sheets of material based on the faces of the surface patches.

US Pat. No. 10,108,846

SCANNING FOR MATERIALS AND SCALE INFORMATION

Autodesk, Inc., San Rafa...

1. A method comprising:identifying an image;
identifying a specific object included in the image;
identifying data associated with the image;
determining both a dimension of the specific object and a construction material of the specific object using the identified data; and
outputting the dimension and the construction material of the specific object;
wherein identifying the data associated with the image comprises identifying one or more other objects included in the image, and determining the dimension and the construction material of the specific object comprises determining at least one of the dimension or the construction material of the specific object based on a spatial relationship between the specific object and the one or more other objects.

US Pat. No. 10,102,320

PREDICTIVE MULTI-USER CLIENT-SERVER ELECTRONIC CIRCUIT DESIGN SYSTEM UTILIZING MACHINE LEARNING TECHNIQUES

AUTODESK, INC., San Rafa...

1. A predictive electronic circuit design system comprising:(a) an electronic computer aided design (CAD) environment server computing device connected to the Internet, wherein the server computing device comprises a machine learning module program that comprises:
(1) a netlist analyzer program that receives a circuit netlist for a designed circuit from a user, characterizes the circuit netlist, and sends characterization data to a database, wherein the characterization data comprises meta-information about the designed circuit;
(2) the database, wherein characterization data from multiple users for multiple designed circuits are stored in the database; and
(3) a classifier and predictor program that uses, from the database, design goal data, the characterization data for multiple designed circuits from the multiple users, and simulation results, to calculate and produce predictions and proposals for the user to make design changes to the designed circuit in order to better meet or exceed design goals; and
(b) an electronic CAD design environment client computing device that is connected to the Internet, wherein the client computing device comprises;
(1) a client CAD software application with a user interface that allows a user to design the designed circuit in the client CAD software application;
(2) a netlisting software application that converts circuit schematic information received from the designated circuit into the circuit netlist; and
(3) a circuit simulation software application that simulates the designed circuit represented by the circuit netlist to produce the simulation results; and wherein the designed circuit is output for fabricate of the design circuit.

US Pat. No. 10,062,203

VOXELIZATION OF MESH REPRESENTATIONS

AUTODESK, INC., San Rafa...

1. A method for voxelizing a mesh representation associated with a three-dimensional model to generate a volumetric model, comprising:identifying a first voxel included in a voxel grid array that intersects with the mesh representation;
selecting a second voxel at an exterior boundary of the voxel grid array that is not identified as a boundary voxel;
marking the second voxel as an exterior voxel;
marking all unmarked voxels that are adjacent to the second voxel as exterior voxels;
marking all remaining voxels as interior voxels; and
generating a volumetric model based at least in part on the first voxel.

US Pat. No. 10,005,126

SYSTEMS AND METHODS FOR IMPROVED 3D PRINTING

Autodesk, Inc., San Rafa...

1. A system for fabricating an object, the system comprising:an extruder for one or more deposition materials, the extruder comprising at least one nozzle having a nozzle tip that includes an exit orifice, the tip having a width that is equal to or larger than a width of the exit orifice; and
a controller coupled with the extruder, the controller configured and arranged to apply a correction factor that has been calculated for a path of the nozzle based on a slope of a surface of an object to be fabricated, the correction factor for a positive slope being different from the correction factor for a negative slope;
wherein the extruder is configured and arranged to cause movement of the nozzle along the path to deposit a material on the slope of the surface of the object, and
wherein the controller is configured to remove differences in thickness of the deposited material caused by the slope in relation to the path by applying the correction factor to thereby adjust a vertical position of the nozzle relative to the path by an amount dependent on the slope of the path.

US Pat. No. 9,996,634

COMPUTER-AIDED DESIGN AND MANUFACTURING SYSTEM AND METHOD FOR COMPOSITE PART MANUFACTURING METHOD AND SYSTEM

Autodesk, Inc., San Rafa...

1. A method for computer aided design and manufacturing (CAD/CAM) a composite part comprising:generating, using a CAD/CAM computing device, at least one manufacturing strategy for at least one associated topology region of the composite part, the generating comprising:
defining one or more manufacturing parameters;
analyzing the surface topology for the at least one composite part surface using the one or more manufacturing parameter definitions;
creating a manufacturing topology grid for the composite part;
associating at least one manufacturing topology analysis to a plurality of individual cells of the manufacturing topology grid;
computing weights for each of the plurality of individual cells of the manufacturing topology grid for a plurality of manufacturing strategies for a ply of a composite part, and
computing, using the CAD/CAM computing device,
a manufacturing topology analysis index by associating one or more of the topology analyses to the plurality of the individual cells of the manufacturing topology grid, and
transition regions for neighboring cells of the plurality of individual cells for transition between the manufacturing strategies;
outputting a strategy definition including the at least one manufacturing strategy to a downstream device configured for composite part manufacture;
manufacturing the composite part based on the manufacturing strategy.

US Pat. No. 9,934,488

USER INTERFACE NAVIGATION ELEMENTS FOR NAVIGATING DATASETS

AUTODESK, INC., San Rafa...

1. A method for navigating data included in a data set, the method comprising:displaying a plurality of discrete zoom pivot locations within the data set, each discrete zoom pivot location corresponding to a different zoom pivot location associated with a zoom operation;
displaying a slider element for selecting a particular discrete zoom pivot location within the plurality of discrete zoom pivot locations, the slider element displaying a plurality of discrete indicators that map to the plurality of discrete zoom pivot locations displayed within the data set;
receiving, via the slider element, a selected zoom pivot location;
receiving user input specifying a zoom event that has an associated zoom level;
displaying in a current view a portion of the data set that corresponds to the zoom level and the selected zoom pivot location;
determining one or more different levels of data intervals that repeat at least once in the portion of the data set displayed in the current view;
displaying a plurality of interval elements related to a plurality of different levels of data intervals including one or more interval elements related to the largest data interval, wherein the current view and the plurality of interval elements are displayed to a user via a graphical user interface;
receiving a selection of at least two interval elements related to each of at least two different levels of data intervals;
determining a portion of the data set that is associated with the at least two interval elements related to each of the at least two different levels of data intervals; and
displaying in the current view the portion of the data set that is associated with the at least two interval elements related to each of the at least two different levels of data intervals.

US Pat. No. 9,891,783

NAVIGATION SYSTEM FOR A 3D VIRTUAL SCENE

AUTODESK, INC., San Rafa...

1. A method for navigating within a three-dimensional scene, the method comprising:
displaying a perspective slider having a position marker, the position marker indicating a position of a camera view relative
to a surface of an object within the three-dimensional scene;

moving, via a processing unit, the position marker towards a first end of the perspective slider when the position of the
camera view is moved towards the surface of the object; and

moving, via the processing unit, the position marker towards a second end of the perspective slider when the position of the
camera view is moved away from the surface of the object.

US Pat. No. 9,836,879

MESH SKINNING TECHNIQUE

AUTODESK, INC., San Rafa...

1. A computer-implemented method for computing skinning weights, the method comprising:
traversing, via a processor, a plurality of paths from a first voxel included in a voxelization associated with a three-dimensional
model to a second voxel included in the voxelization, wherein the first voxel intersects a first influence included in the
three-dimensional model, and the second voxel intersects a target vertex associated with the three-dimensional model, wherein
the voxelization includes a set of interior voxels, wherein the first voxel and the second voxel are included in the set of
interior voxels, and wherein each of the plurality of paths comprises voxels that are included in the set of interior voxels;

computing a first distance value associated with a first path in the plurality of paths indicating a distance between the
first voxel and the second voxel within the first path;

computing a second distance value associated with a second path in the plurality of paths indicating a second distance between
the first voxel and the second voxel within the second path, wherein the second distance value is less than the first distance
value;

determining that the second path includes a boundary voxel located between the first voxel and the second voxel, wherein the
boundary voxel intersects a boundary of the three-dimensional model;

responsive to determining that the second path includes the boundary voxel, increasing the second distance value by applying
a multiplicative weight to the second distance value;

determining, via the processor, that the first path represents the shortest distance between the first voxel and the second
voxel across the plurality of paths;

assigning, via the processor, a skinning weight to the target vertex based on the first distance value; and
generating, via the processor, an animation based on the skinning weight.

US Pat. No. 9,792,040

PEN-MOUSE SYSTEM

AUTODESK, INC., San Rafa...

1. A computing device, comprising:
a display; and
a processor configured according to a set of instructions to generate a graphical user interface to be displayed on the display,
the graphical user interface including:

a mouse graphic having the appearance of a computer mouse;
at least one button control positioned within the graphic, wherein, when a pen type input device contacts the display directly
above the at least one button control, the pen type input device enters into an active state, and regardless of whether the
pen type input device remains in contact with the display, a function assigned to the at least one button control immediately
triggers;

a tracking symbol graphic associated with the mouse graphic and indicating event focus; and
a tracking menu boundary providing tracking menu control of the interface for a pen type input device, wherein the mouse graphic
is moved when a cursor associated with the pen type input device encounters the tracking menu boundary.

US Pat. No. 9,773,023

IMAGE SELECTION USING AUTOMATICALLY GENERATED SEMANTIC METADATA

AUTODESK, INC., San Rafa...

1. A method of selecting visual subject matter stored in a database, the method comprising:
receiving first user input that indicates a first region of a first image that is stored in the database;
based on metadata associated with the first image, determining a first visual feature within the first region;
receiving second user input that indicates a second visual feature included in a second region of a second image that is stored
in the database, wherein the second visual feature corresponds to a negative selection criterion; and

based on metadata associated with other images stored in the database and the negative selection criterion, selecting a third
image from the database that includes a third visual feature that correlates with the first visual feature and does not include
the second visual feature;

generating a morphed view of the third image that includes the third visual feature in a central position, wherein the central
position is different from an actual position of the third visual feature within the third image; and

causing the morphed view to be displayed responsive to the first user input,
wherein the metadata associated with the first image and the metadata associated with the other images stored in the database
include image correlation information received from a remote server device.