test7.di

来自「算断裂的」· DI 代码 · 共 714 行 · 第 1/3 页

DI
714
字号
-----> set c [gmcavity $c $hole2]

brep_v2.0 2 2
()
(
1 0 # cp 0
1.0000000000000002 0.3568220897730896 # cp 1
0.80901699437494801 0.68761435889789313 # cp 2
0.50000000000000089 0.86602540378443815 # cp 3
0.19098300562505391 1.0444364486709834 # cp 4
-0.19098300562505077 1.0444364486709841 # cp 5
-0.49999999999999828 0.8660254037844396 # cp 6
-0.80901699437494579 0.68761435889789557 # cp 7
-0.99999999999999911 0.35682208977309243 # cp 8
-1 2.7869958944826134e-015 # cp 9
-1.0000000000000011 -0.35682208977308688 # cp 10
-0.80901699437495012 -0.68761435889789069 # cp 11
-0.50000000000000344 -0.8660254037844366 # cp 12
-0.19098300562505705 -1.0444364486709827 # cp 13
0.19098300562504739 -1.0444364486709845 # cp 14
0.49999999999999545 -0.86602540378444126 # cp 15
0.80901699437494368 -0.68761435889789813 # cp 16
0.99999999999999778 -0.35682208977309615 # cp 17
0.20000000000000001 0.5 # cp 18
0.20000000000000007 0.535682208977309 # cp 19
0.16180339887498962 0.56876143588978934 # cp 20
0.10000000000000019 0.58660254037844384 # cp 21
0.038196601125010783 0.60444364486709834 # cp 22
-0.038196601125010159 0.60444364486709845 # cp 23
-0.099999999999999659 0.58660254037844395 # cp 24
-0.16180339887498918 0.56876143588978956 # cp 25
-0.19999999999999984 0.53568220897730923 # cp 26
-0.20000000000000001 0.50000000000000033 # cp 27
-0.20000000000000023 0.46431779102269133 # cp 28
-0.16180339887499004 0.43123856411021094 # cp 29
-0.1000000000000007 0.41339745962155633 # cp 30
-0.038196601125011415 0.39555635513290172 # cp 31
0.038196601125009479 0.39555635513290155 # cp 32
0.09999999999999909 0.41339745962155588 # cp 33
0.16180339887498874 0.43123856411021017 # cp 34
0.19999999999999957 0.46431779102269038 # cp 35
0.20000000000000001 -0.5 # cp 36
0.20000000000000007 -0.46431779102269105 # cp 37
0.16180339887498962 -0.43123856411021066 # cp 38
0.10000000000000019 -0.41339745962155616 # cp 39
0.038196601125010783 -0.39555635513290166 # cp 40
-0.038196601125010159 -0.3955563551329016 # cp 41
-0.099999999999999659 -0.41339745962155605 # cp 42
-0.16180339887498918 -0.43123856411021044 # cp 43
-0.19999999999999984 -0.46431779102269077 # cp 44
-0.20000000000000001 -0.49999999999999972 # cp 45
-0.20000000000000023 -0.53568220897730867 # cp 46
-0.16180339887499004 -0.56876143588978911 # cp 47
-0.1000000000000007 -0.58660254037844362 # cp 48
-0.038196601125011415 -0.60444364486709823 # cp 49
0.038196601125009479 -0.60444364486709845 # cp 50
0.09999999999999909 -0.58660254037844417 # cp 51
0.16180339887498874 -0.56876143588978978 # cp 52
0.19999999999999957 -0.53568220897730967 # cp 53
) 
(   # begin topological vertices
v0  ()  () ()  ( (vertex 0 ) )
v0_cav1  ()  () ()  ( (vertex 18 ) )
v0_cav2  ()  () ()  ( (vertex 36 ) )
 ) # end topological vertices
(   # begin topological edges
e18  ()  (v0 v0 ) ()  ( (bezier_curve 3 0 1 2 3 )
    (bezier_curve 3 3 4 5 6 )
    (bezier_curve 3 6 7 8 9 )
    (bezier_curve 3 9 10 11 12 )
    (bezier_curve 3 12 13 14 15 )
    (bezier_curve 3 15 16 17 0 ) )
e18_cav1  ()  (v0_cav1 v0_cav1 ) ()  ( (bezier_curve 3 18 19 20 21 )
    (bezier_curve 3 21 22 23 24 )
    (bezier_curve 3 24 25 26 27 )
    (bezier_curve 3 27 28 29 30 )
    (bezier_curve 3 30 31 32 33 )
    (bezier_curve 3 33 34 35 18 ) )
e18_cav2  ()  (v0_cav2 v0_cav2 ) ()  ( (bezier_curve 3 36 37 38 39 )
    (bezier_curve 3 39 40 41 42 )
    (bezier_curve 3 42 43 44 45 )
    (bezier_curve 3 45 46 47 48 )
    (bezier_curve 3 48 49 50 51 )
    (bezier_curve 3 51 52 53 36 ) )
 ) # end topological edges
(   # begin topological regions
mregion  ()  (e18 e18_cav1 e18_cav2 ) ()  ( )
 ) # end topological regions

Thu Sep 02 18:10:55 Eastern Daylight Time 1999
-----> 
## Make a slit by modifying the brep directly.


Thu Sep 02 18:10:55 Eastern Daylight Time 1999
-----> 
## Insert two new control points at (-.6,-.1) and (.6,.1).


Thu Sep 02 18:10:55 Eastern Daylight Time 1999
-----> 
set c_l [gm_obj2list $c]

brep_v2.0 2 2 {} {1.0 0.0 1.0000000000000002 0.3568220897730896 0.80901699437494801 0.68761435889789313 0.50000000000000089 0.86602540378443815 0.19098300562505391 1.0444364486709834 -0.19098300562505077 1.0444364486709841 -0.49999999999999828 0.8660254037844396 -0.80901699437494579 0.68761435889789557 -0.99999999999999911 0.35682208977309243 -1.0 2.7869958944826134e-015 -1.0000000000000011 -0.35682208977308688 -0.80901699437495012 -0.68761435889789069 -0.50000000000000344 -0.8660254037844366 -0.19098300562505705 -1.0444364486709827 0.19098300562504739 -1.0444364486709845 0.49999999999999545 -0.86602540378444126 0.80901699437494368 -0.68761435889789813 0.99999999999999778 -0.35682208977309615 0.20000000000000001 0.5 0.20000000000000007 0.535682208977309 0.16180339887498962 0.56876143588978934 0.10000000000000019 0.58660254037844384 0.038196601125010783 0.60444364486709834 -0.038196601125010159 0.60444364486709845 -0.099999999999999659 0.58660254037844395 -0.16180339887498918 0.56876143588978956 -0.19999999999999984 0.53568220897730923 -0.20000000000000001 0.50000000000000033 -0.20000000000000023 0.46431779102269133 -0.16180339887499004 0.43123856411021094 -0.1000000000000007 0.41339745962155633 -0.038196601125011415 0.39555635513290172 0.038196601125009479 0.39555635513290155 0.09999999999999909 0.41339745962155588 0.16180339887498874 0.43123856411021017 0.19999999999999957 0.46431779102269038 0.20000000000000001 -0.5 0.20000000000000007 -0.46431779102269105 0.16180339887498962 -0.43123856411021066 0.10000000000000019 -0.41339745962155616 0.038196601125010783 -0.39555635513290166 -0.038196601125010159 -0.3955563551329016 -0.099999999999999659 -0.41339745962155605 -0.16180339887498918 -0.43123856411021044 -0.19999999999999984 -0.46431779102269077 -0.20000000000000001 -0.49999999999999972 -0.20000000000000023 -0.53568220897730867 -0.16180339887499004 -0.56876143588978911 -0.1000000000000007 -0.58660254037844362 -0.038196601125011415 -0.60444364486709823 0.038196601125009479 -0.60444364486709845 0.09999999999999909 -0.58660254037844417 0.16180339887498874 -0.56876143588978978 0.19999999999999957 -0.53568220897730967} {v0 {} {} {} {{vertex 0}} v0_cav1 {} {} {} {{vertex 18}} v0_cav2 {} {} {} {{vertex 36}}} {e18 {} {v0 v0} {} {{bezier_curve 3 0 1 2 3} {bezier_curve 3 3 4 5 6} {bezier_curve 3 6 7 8 9} {bezier_curve 3 9 10 11 12} {bezier_curve 3 12 13 14 15} {bezier_curve 3 15 16 17 0}} e18_cav1 {} {v0_cav1 v0_cav1} {} {{bezier_curve 3 18 19 20 21} {bezier_curve 3 21 22 23 24} {bezier_curve 3 24 25 26 27} {bezier_curve 3 27 28 29 30} {bezier_curve 3 30 31 32 33} {bezier_curve 3 33 34 35 18}} e18_cav2 {} {v0_cav2 v0_cav2} {} {{bezier_curve 3 36 37 38 39} {bezier_curve 3 39 40 41 42} {bezier_curve 3 42 43 44 45} {bezier_curve 3 45 46 47 48} {bezier_curve 3 48 49 50 51} {bezier_curve 3 51 52 53 36}}} {mregion {} {e18 e18_cav1 e18_cav2} {} {}}
Thu Sep 02 18:10:55 Eastern Daylight Time 1999
-----> set newcp [lindex $c_l 4]

1.0 0.0 1.0000000000000002 0.3568220897730896 0.80901699437494801 0.68761435889789313 0.50000000000000089 0.86602540378443815 0.19098300562505391 1.0444364486709834 -0.19098300562505077 1.0444364486709841 -0.49999999999999828 0.8660254037844396 -0.80901699437494579 0.68761435889789557 -0.99999999999999911 0.35682208977309243 -1.0 2.7869958944826134e-015 -1.0000000000000011 -0.35682208977308688 -0.80901699437495012 -0.68761435889789069 -0.50000000000000344 -0.8660254037844366 -0.19098300562505705 -1.0444364486709827 0.19098300562504739 -1.0444364486709845 0.49999999999999545 -0.86602540378444126 0.80901699437494368 -0.68761435889789813 0.99999999999999778 -0.35682208977309615 0.20000000000000001 0.5 0.20000000000000007 0.535682208977309 0.16180339887498962 0.56876143588978934 0.10000000000000019 0.58660254037844384 0.038196601125010783 0.60444364486709834 -0.038196601125010159 0.60444364486709845 -0.099999999999999659 0.58660254037844395 -0.16180339887498918 0.56876143588978956 -0.19999999999999984 0.53568220897730923 -0.20000000000000001 0.50000000000000033 -0.20000000000000023 0.46431779102269133 -0.16180339887499004 0.43123856411021094 -0.1000000000000007 0.41339745962155633 -0.038196601125011415 0.39555635513290172 0.038196601125009479 0.39555635513290155 0.09999999999999909 0.41339745962155588 0.16180339887498874 0.43123856411021017 0.19999999999999957 0.46431779102269038 0.20000000000000001 -0.5 0.20000000000000007 -0.46431779102269105 0.16180339887498962 -0.43123856411021066 0.10000000000000019 -0.41339745962155616 0.038196601125010783 -0.39555635513290166 -0.038196601125010159 -0.3955563551329016 -0.099999999999999659 -0.41339745962155605 -0.16180339887498918 -0.43123856411021044 -0.19999999999999984 -0.46431779102269077 -0.20000000000000001 -0.49999999999999972 -0.20000000000000023 -0.53568220897730867 -0.16180339887499004 -0.56876143588978911 -0.1000000000000007 -0.58660254037844362 -0.038196601125011415 -0.60444364486709823 0.038196601125009479 -0.60444364486709845 0.09999999999999909 -0.58660254037844417 0.16180339887498874 -0.56876143588978978 0.19999999999999957 -0.53568220897730967
Thu Sep 02 18:10:55 Eastern Daylight Time 1999
-----> set numcp [expr [llength $newcp] / 2]

54
Thu Sep 02 18:10:55 Eastern Daylight Time 1999
-----> lappend newcp -.6 -.1 .6 .1

1.0 0.0 1.0000000000000002 0.3568220897730896 0.80901699437494801 0.68761435889789313 0.50000000000000089 0.86602540378443815 0.19098300562505391 1.0444364486709834 -0.19098300562505077 1.0444364486709841 -0.49999999999999828 0.8660254037844396 -0.80901699437494579 0.68761435889789557 -0.99999999999999911 0.35682208977309243 -1.0 2.7869958944826134e-015 -1.0000000000000011 -0.35682208977308688 -0.80901699437495012 -0.68761435889789069 -0.50000000000000344 -0.8660254037844366 -0.19098300562505705 -1.0444364486709827 0.19098300562504739 -1.0444364486709845 0.49999999999999545 -0.86602540378444126 0.80901699437494368 -0.68761435889789813 0.99999999999999778 -0.35682208977309615 0.20000000000000001 0.5 0.20000000000000007 0.535682208977309 0.16180339887498962 0.56876143588978934 0.10000000000000019 0.58660254037844384 0.038196601125010783 0.60444364486709834 -0.038196601125010159 0.60444364486709845 -0.099999999999999659 0.58660254037844395 -0.16180339887498918 0.56876143588978956 -0.19999999999999984 0.53568220897730923 -0.20000000000000001 0.50000000000000033 -0.20000000000000023 0.46431779102269133 -0.16180339887499004 0.43123856411021094 -0.1000000000000007 0.41339745962155633 -0.038196601125011415 0.39555635513290172 0.038196601125009479 0.39555635513290155 0.09999999999999909 0.41339745962155588 0.16180339887498874 0.43123856411021017 0.19999999999999957 0.46431779102269038 0.20000000000000001 -0.5 0.20000000000000007 -0.46431779102269105 0.16180339887498962 -0.43123856411021066 0.10000000000000019 -0.41339745962155616 0.038196601125010783 -0.39555635513290166 -0.038196601125010159 -0.3955563551329016 -0.099999999999999659 -0.41339745962155605 -0.16180339887498918 -0.43123856411021044 -0.19999999999999984 -0.46431779102269077 -0.20000000000000001 -0.49999999999999972 -0.20000000000000023 -0.53568220897730867 -0.16180339887499004 -0.56876143588978911 -0.1000000000000007 -0.58660254037844362 -0.038196601125011415 -0.60444364486709823 0.038196601125009479 -0.60444364486709845 0.09999999999999909 -0.58660254037844417 0.16180339887498874 -0.56876143588978978 0.19999999999999957 -0.53568220897730967 -.6 -.1 .6 .1
Thu Sep 02 18:10:55 Eastern Daylight Time 1999
-----> 
## Insert two new vertices at these points.


Thu Sep 02 18:10:55 Eastern Daylight Time 1999
-----> 
set newvtx [lindex $c_l 5]

v0 {} {} {} {{vertex 0}} v0_cav1 {} {} {} {{vertex 18}} v0_cav2 {} {} {} {{vertex 36}}
Thu Sep 02 18:10:55 Eastern Daylight Time 1999
-----> lappend newvtx newv1 {} {} {} [list [list vertex $numcp]]

v0 {} {} {} {{vertex 0}} v0_cav1 {} {} {} {{vertex 18}} v0_cav2 {} {} {} {{vertex 36}} newv1 {} {} {} {{vertex 54}}
Thu Sep 02 18:10:55 Eastern Daylight Time 1999
-----> lappend newvtx newv2 {} {} {} [list [list vertex [expr $numcp+1]]]

v0 {} {} {} {{vertex 0}} v0_cav1 {} {} {} {{vertex 18}} v0_cav2 {} {} {} {{vertex 36}} newv1 {} {} {} {{vertex 54}} newv2 {} {} {} {{vertex 55}}
Thu Sep 02 18:10:55 Eastern Daylight Time 1999
-----> 
set newedge [lindex $c_l 6]

e18 {} {v0 v0} {} {{bezier_curve 3 0 1 2 3} {bezier_curve 3 3 4 5 6} {bezier_curve 3 6 7 8 9} {bezier_curve 3 9 10 11 12} {bezier_curve 3 12 13 14 15} {bezier_curve 3 15 16 17 0}} e18_cav1 {} {v0_cav1 v0_cav1} {} {{bezier_curve 3 18 19 20 21} {bezier_curve 3 21 22 23 24} {bezier_curve 3 24 25 26 27} {bezier_curve 3 27 28 29 30} {bezier_curve 3 30 31 32 33} {bezier_curve 3 33 34 35 18}} e18_cav2 {} {v0_cav2 v0_cav2} {} {{bezier_curve 3 36 37 38 39} {bezier_curve 3 39 40 41 42} {bezier_curve 3 42 43 44 45} {bezier_curve 3 45 46 47 48} {bezier_curve 3 48 49 50 51} {bezier_curve 3 51 52 53 36}}
Thu Sep 02 18:10:55 Eastern Daylight Time 1999
-----> lappend newedge newe1 {} {newv1 newv2} {} \
	[list [list bezier_curve 1 $numcp [expr $numcp+1]]]

e18 {} {v0 v0} {} {{bezier_curve 3 0 1 2 3} {bezier_curve 3 3 4 5 6} {bezier_curve 3 6 7 8 9} {bezier_curve 3 9 10 11 12} {bezier_curve 3 12 13 14 15} {bezier_curve 3 15 16 17 0}} e18_cav1 {} {v0_cav1 v0_cav1} {} {{bezier_curve 3 18 19 20 21} {bezier_curve 3 21 22 23 24} {bezier_curve 3 24 25 26 27} {bezier_curve 3 27 28 29 30} {bezier_curve 3 30 31 32 33} {bezier_curve 3 33 34 35 18}} e18_cav2 {} {v0_cav2 v0_cav2} {} {{bezier_curve 3 36 37 38 39} {bezier_curve 3 39 40 41 42} {bezier_curve 3 42 43 44 45} {bezier_curve 3 45 46 47 48} {bezier_curve 3 48 49 50 51} {bezier_curve 3 51 52 53 36}} newe1 {} {newv1 newv2} {} {{bezier_curve 1 54 55}}
Thu Sep 02 18:10:55 Eastern Daylight Time 1999
-----> 
set toplev [lindex $c_l 7]

mregion {} {e18 e18_cav1 e18_cav2} {} {}
Thu Sep 02 18:10:55 Eastern Daylight Time 1999
-----> set newrbdry [lindex $toplev 2]

e18 e18_cav1 e18_cav2
Thu Sep 02 18:10:55 Eastern Daylight Time 1999
-----> lappend newrbdry newe1 newe1

e18 e18_cav1 e18_cav2 newe1 newe1
Thu Sep 02 18:10:55 Eastern Daylight Time 1999
-----> 
set c [gm_list2obj [list [lindex $c_l 0] [lindex $c_l 1] \
	[lindex $c_l 2] [lindex $c_l 3] \
	$newcp $newvtx $newedge \
	[list [lindex $toplev 0] [lindex $toplev 1] $newrbdry \
	[lindex $toplev 3] [lindex $toplev 4]]]]

brep_v2.0 2 2
()
(
1 0 # cp 0
1.0000000000000002 0.3568220897730896 # cp 1
0.80901699437494801 0.68761435889789313 # cp 2
0.50000000000000089 0.86602540378443815 # cp 3
0.19098300562505391 1.0444364486709834 # cp 4
-0.19098300562505077 1.0444364486709841 # cp 5
-0.49999999999999828 0.8660254037844396 # cp 6
-0.80901699437494579 0.68761435889789557 # cp 7
-0.99999999999999911 0.35682208977309243 # cp 8
-1 2.7869958944826134e-015 # cp 9
-1.0000000000000011 -0.35682208977308688 # cp 10
-0.80901699437495012 -0.68761435889789069 # cp 11
-0.50000000000000344 -0.8660254037844366 # cp 12
-0.19098300562505705 -1.0444364486709827 # cp 13
0.19098300562504739 -1.0444364486709845 # cp 14
0.49999999999999545 -0.86602540378444126 # cp 15
0.80901699437494368 -0.68761435889789813 # cp 16
0.99999999999999778 -0.35682208977309615 # cp 17
0.20000000000000001 0.5 # cp 18
0.20000000000000007 0.535682208977309 # cp 19
0.16180339887498962 0.56876143588978934 # cp 20
0.10000000000000019 0.58660254037844384 # cp 21
0.038196601125010783 0.60444364486709834 # cp 22
-0.038196601125010159 0.60444364486709845 # cp 23
-0.099999999999999659 0.58660254037844395 # cp 24
-0.16180339887498918 0.56876143588978956 # cp 25
-0.19999999999999984 0.53568220897730923 # cp 26
-0.20000000000000001 0.50000000000000033 # cp 27
-0.20000000000000023 0.46431779102269133 # cp 28
-0.16180339887499004 0.43123856411021094 # cp 29
-0.1000000000000007 0.41339745962155633 # cp 30
-0.038196601125011415 0.39555635513290172 # cp 31
0.038196601125009479 0.39555635513290155 # cp 32
0.09999999999999909 0.41339745962155588 # cp 33
0.16180339887498874 0.43123856411021017 # cp 34
0.19999999999999957 0.46431779102269038 # cp 35
0.20000000000000001 -0.5 # cp 36
0.20000000000000007 -0.46431779102269105 # cp 37
0.16180339887498962 -0.43123856411021066 # cp 38
0.10000000000000019 -0.41339745962155616 # cp 39
0.038196601125010783 -0.39555635513290166 # cp 40
-0.038196601125010159 -0.3955563551329016 # cp 41
-0.099999999999999659 -0.41339745962155605 # cp 42
-0.16180339887498918 -0.43123856411021044 # cp 43
-0.19999999999999984 -0.46431779102269077 # cp 44
-0.20000000000000001 -0.49999999999999972 # cp 45
-0.20000000000000023 -0.53568220897730867 # cp 46
-0.16180339887499004 -0.56876143588978911 # cp 47
-0.1000000000000007 -0.58660254037844362 # cp 48
-0.038196601125011415 -0.60444364486709823 # cp 49
0.038196601125009479 -0.60444364486709845 # cp 50
0.09999999999999909 -0.58660254037844417 # cp 51
0.16180339887498874 -0.56876143588978978 # cp 52
0.19999999999999957 -0.53568220897730967 # cp 53
-0.59999999999999998 -0.10000000000000001 # cp 54
0.59999999999999998 0.10000000000000001 # cp 55
) 
(   # begin topological vertices
v0  ()  () ()  ( (vertex 0 ) )
v0_cav1  ()  () ()  ( (vertex 18 ) )
v0_cav2  ()  () ()  ( (vertex 36 ) )
newv1  ()  () ()  ( (vertex 54 ) )
newv2  ()  () ()  ( (vertex 55 ) )
 ) # end topological vertices
(   # begin topological edges
e18  ()  (v0 v0 ) ()  ( (bezier_curve 3 0 1 2 3 )
    (bezier_curve 3 3 4 5 6 )
    (bezier_curve 3 6 7 8 9 )
    (bezier_curve 3 9 10 11 12 )
    (bezier_curve 3 12 13 14 15 )

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?