incremental transmission of b-rep based cad models for collaborative design environment
DESCRIPTION
Incremental Transmission of B-Rep based CAD Models for Collaborative Design Environment. Efficient Streaming Algorithm for B-Rep based CAD Models through the Network Youngjae Song, CAD Lab. @ SNU. Introduction. Importance of the Transmission of CAD data - PowerPoint PPT PresentationTRANSCRIPT
Incremental Transmission of B-Incremental Transmission of B-Rep based CAD Models for Rep based CAD Models for
Collaborative Design Collaborative Design EnvironmentEnvironment
Efficient Streaming Algorithm for B-Rep based CAD ModelsEfficient Streaming Algorithm for B-Rep based CAD Models
through the Networkthrough the Network
Youngjae Song, CAD Lab. @ SNUYoungjae Song, CAD Lab. @ SNU
National Research Laboratory (CAD Lab. @ SNU)National Research Laboratory (CAD Lab. @ SNU)
IntroductionIntroductionIntroductionIntroduction
Importance of the Transmission of CAD dataImportance of the Transmission of CAD data
– Play a key role in Concurrent Design environment.
– Utilize the limitation of Network bandwidth.
– Decrease the latency during design activity.
Strategies for solving the problemStrategies for solving the problem
– Minimize the file size of CAD data
• Geometry compression
– Cut down the Latency for transmission of data
• Incremental transmission
– Avoid the security problem during the transmission
• Data encryption / Digital Water-marking
Importance of the Transmission of CAD dataImportance of the Transmission of CAD data
– Play a key role in Concurrent Design environment.
– Utilize the limitation of Network bandwidth.
– Decrease the latency during design activity.
Strategies for solving the problemStrategies for solving the problem
– Minimize the file size of CAD data
• Geometry compression
– Cut down the Latency for transmission of data
• Incremental transmission
– Avoid the security problem during the transmission
• Data encryption / Digital Water-marking
National Research Laboratory (CAD Lab. @ SNU)National Research Laboratory (CAD Lab. @ SNU)
Proposed AlgorithmProposed AlgorithmProposed AlgorithmProposed Algorithm
Framework of the proposed approachFramework of the proposed approach Framework of the proposed approachFramework of the proposed approachCAD Data Server Client system
Preprocessing
CAD DataIn App “A”
B-Rep
Incremental Block tree
SequencingData
EncryptionData
decryptionComposingData Block
Internet
B-RepIn App “B”
Reconstruction
InteractionSecurity info.Other info.
Plug-inFor App “A”
Plug-inFor App “B”
National Research Laboratory (CAD Lab. @ SNU)National Research Laboratory (CAD Lab. @ SNU)
Model PreprocessingModel PreprocessingModel PreprocessingModel Preprocessing
Apply the “Wrap-around” operationApply the “Wrap-around” operation
– Search the concave edges, identify the concave faces
– Remove the complexity(concave region and hole) in the body.
– Get the more simplified model with applying “Wrap-around”
Apply the “Wrap-around” operationApply the “Wrap-around” operation
– Search the concave edges, identify the concave faces
– Remove the complexity(concave region and hole) in the body.
– Get the more simplified model with applying “Wrap-around”
National Research Laboratory (CAD Lab. @ SNU)National Research Laboratory (CAD Lab. @ SNU)
Model PreprocessingModel PreprocessingModel PreprocessingModel Preprocessing
Preprocessing ResultPreprocessing Result
– Define a set of concave faces(composing a distinct concave region or simple hole, pocket) as “FaceSet”.
– Sub-group the facesets having the same area into parent group.
Preprocessing ResultPreprocessing Result
– Define a set of concave faces(composing a distinct concave region or simple hole, pocket) as “FaceSet”.
– Sub-group the facesets having the same area into parent group.
faceset1 faceset2 faceset3 faceset4 faceset5
Same area faceset1
Same area faceset2
Same area faceset3
Incremental Block Tree
National Research Laboratory (CAD Lab. @ SNU)National Research Laboratory (CAD Lab. @ SNU)
Sequencing the block treeSequencing the block treeSequencing the block treeSequencing the block tree
Determine the order to send dataDetermine the order to send data• Very simple & efficient compared to the other algorithms.
• Sort the ‘Incremental Block Tree’ with area-ascending order.
• Remove the facesets with area-ascending order.
• At first send the most simplified body, and send the facesets to clients with area-decending order.
Determine the order to send dataDetermine the order to send data• Very simple & efficient compared to the other algorithms.
• Sort the ‘Incremental Block Tree’ with area-ascending order.
• Remove the facesets with area-ascending order.
• At first send the most simplified body, and send the facesets to clients with area-decending order.
faceset1 faceset2 faceset3 faceset4 faceset5
Same area faceset1
Same area faceset2
Same area faceset3
Incremental Block Tree
National Research Laboratory (CAD Lab. @ SNU)National Research Laboratory (CAD Lab. @ SNU)
Model ReconstructionModel ReconstructionModel ReconstructionModel Reconstruction
Reverse operation of Sequencing.Reverse operation of Sequencing.
– Apply the Reverse “Wrap-around” operation.
– Reconstruct the shape data from the received data block.
– Sequentially, apply the reconstruction process.
Reverse operation of Sequencing.Reverse operation of Sequencing.
– Apply the Reverse “Wrap-around” operation.
– Reconstruct the shape data from the received data block.
– Sequentially, apply the reconstruction process.
National Research Laboratory (CAD Lab. @ SNU)National Research Laboratory (CAD Lab. @ SNU)
Model ReconstructionModel ReconstructionModel ReconstructionModel Reconstruction
Reconstruct the original model.Reconstruct the original model.
– If User don’t want see the model more in detail, he can stop receiving the data from server immediately. -> Cut down the latency over the network.
Reconstruct the original model.Reconstruct the original model.
– If User don’t want see the model more in detail, he can stop receiving the data from server immediately. -> Cut down the latency over the network.
Reconstruct the original detailed model from simple model with the incremental data
National Research Laboratory (CAD Lab. @ SNU)National Research Laboratory (CAD Lab. @ SNU)
Example #1Example #1Example #1Example #1
Engine Piston (Server Program)Engine Piston (Server Program) Engine Piston (Server Program)Engine Piston (Server Program)
National Research Laboratory (CAD Lab. @ SNU)National Research Laboratory (CAD Lab. @ SNU)
Example #1Example #1Example #1Example #1
Result TableResult Table Result TableResult Table
Step #Step # File SizeFile Size TypeType
11 3.62 kBytes3.62 kBytes 1 Solid body1 Solid body
22 4.51 kBytes4.51 kBytes 2 Sheet bodies2 Sheet bodies
33 6.05 kBytes6.05 kBytes 2 Sheet bodies2 Sheet bodies
44 5.33 kBytes5.33 kBytes 2 Sheet bodies2 Sheet bodies
55 5.15 kBytes5.15 kBytes 1 Sheet body1 Sheet body
66 2.53 kBytes2.53 kBytes 1 Sheet body1 Sheet body
TotalTotal 27.2 kBytes27.2 kBytes (17.3 kB)(17.3 kB)
National Research Laboratory (CAD Lab. @ SNU)National Research Laboratory (CAD Lab. @ SNU)
Example #2Example #2Example #2Example #2
Pad trayPad tray Pad trayPad tray
National Research Laboratory (CAD Lab. @ SNU)National Research Laboratory (CAD Lab. @ SNU)
Example #2Example #2Example #2Example #2
Result TableResult Table Result TableResult Table
Step #Step # File SizeFile Size TypeType
11 6.73 kBytes6.73 kBytes 1 Solid body1 Solid body
22 4.87 kBytes4.87 kBytes 1 Sheet body1 Sheet body
33 69.3 kBytes69.3 kBytes 17 Sheet bodies17 Sheet bodies
44 4.07 kBytes4.07 kBytes 1 Sheet body1 Sheet body
55 8.15 kBytes8.15 kBytes 2 Sheet bodies2 Sheet bodies
66 4.07 kBytes4.07 kBytes 1 Sheet body1 Sheet body
77 3.15 kBytes3.15 kBytes 1 Sheet body1 Sheet body
TotalTotal 100 kBytes100 kBytes (72.8 kB)(72.8 kB)
National Research Laboratory (CAD Lab. @ SNU)National Research Laboratory (CAD Lab. @ SNU)
Data size to transfer at a Data size to transfer at a timetimeData size to transfer at a Data size to transfer at a timetime
Single fragment of sheet body is too smallSingle fragment of sheet body is too small
; Compared to the capability of the high speed network.
; Too much overhead for the transmission.
Whole group of sheet bodies is sometimes too big.Whole group of sheet bodies is sometimes too big.
Efficient scheduling algorithmEfficient scheduling algorithm to determine the size to determine the size of the data to be transmitted at a time.of the data to be transmitted at a time.
Single fragment of sheet body is too smallSingle fragment of sheet body is too small
; Compared to the capability of the high speed network.
; Too much overhead for the transmission.
Whole group of sheet bodies is sometimes too big.Whole group of sheet bodies is sometimes too big.
Efficient scheduling algorithmEfficient scheduling algorithm to determine the size to determine the size of the data to be transmitted at a time.of the data to be transmitted at a time.
National Research Laboratory (CAD Lab. @ SNU)National Research Laboratory (CAD Lab. @ SNU)
How to transmit the data ?How to transmit the data ?How to transmit the data ?How to transmit the data ?
Transferring the native file dataTransferring the native file data
– Easy to implement. (currently implemented)
– Overhead for the file format.
– Additional operation is necessary.
Create the new file formatCreate the new file format
– Minimize the overhead for transmitting data.
– Hard to implement.
Pass the instruction to create the same geometry Pass the instruction to create the same geometry data in the client.data in the client.
Transferring the native file dataTransferring the native file data
– Easy to implement. (currently implemented)
– Overhead for the file format.
– Additional operation is necessary.
Create the new file formatCreate the new file format
– Minimize the overhead for transmitting data.
– Hard to implement.
Pass the instruction to create the same geometry Pass the instruction to create the same geometry data in the client.data in the client.
National Research Laboratory (CAD Lab. @ SNU)National Research Laboratory (CAD Lab. @ SNU)
Future WorkFuture WorkFuture WorkFuture Work
More complex examples.More complex examples.
New data format for B-rep model data transmission.New data format for B-rep model data transmission.
Implementation of scheduling algorithm to construct Implementation of scheduling algorithm to construct the optimal size of data fragment for data the optimal size of data fragment for data transmission.transmission.
More complex examples.More complex examples.
New data format for B-rep model data transmission.New data format for B-rep model data transmission.
Implementation of scheduling algorithm to construct Implementation of scheduling algorithm to construct the optimal size of data fragment for data the optimal size of data fragment for data transmission.transmission.