找回密码
 注册
Simdroid-非首页
查看: 355|回复: 5

3dec中怎样统计地下工程开挖时不稳定块体体积、数量等信息?

[复制链接]
发表于 2007-6-14 10:11:06 | 显示全部楼层 |阅读模式 来自 四川宜宾
想统计每次开挖后的不稳定块体体积、数量,以及失稳块体的体积、数量等信息,向高手请教

[ 本帖最后由 t1996 于 2007-6-14 10:13 编辑 ]
发表于 2007-6-27 00:11:26 | 显示全部楼层 来自 法国

我也有类似问题

Simdroid开发平台
统计破裂后 块体 数量 体积等等
是否需要编制语言
回复 不支持

使用道具 举报

发表于 2007-6-28 16:25:47 | 显示全部楼层 来自 清华大学
seek
;set echo off
def _Mark ;Modify
  ;
  ;token=1---check displacement;
  ;token=2---check stress;
  ;token=3---check velocity;
  
  _disp_e1=0.100 ;units m
  _disp_e2=0.075
  _disp_e3=0.050
  _disp_e4=0.025
  _disp_e5=0.010
  
  bi=block_head
   loop while bi # 0
         zi=b_zone(bi)
       ;;;For each zone of every block, find out average displacement
          loop while zi # 0
            z_state(zi)=0  ; Green
                           _x1=0.0
               _y1=0.0
               _z1=0.0
                  _disp1=0.0
            
             loop _j (1,4)
                gi=z_gp(zi,_j)
                     _x1=gp_xdis(gi)
               _y1=gp_ydis(gi)
               _z1=gp_zdis(gi)  
                           _aa=sqrt(_x1*_x1+_y1*_y1+_z1*_z1)
               
               if _aa > _disp1 then
                            _disp1 = _aa
                     end_if
            
             end_loop
         
              if _disp1 >= _disp_e1 then
                z_state(zi)=1   ;
                 ;command
                         ;mark block bi reg 10001
                         ;change block bi mat 1
                       ;end_command
              end_if
         
              if _disp1 >= _disp_e2 then
                if _disp1 < _disp_e1 then
                 z_state(zi)=2  ;
                  ;command
                          ;mark block bi reg 10002
                          ;change block bi mat 2
                        ;end_command
               end_if
              end_if            
      
              if _disp1 >= _disp_e3 then
                if _disp1 < _disp_e2 then
                  z_state(zi)=4  ;
                   ;command
                           ;mark block bi reg 10003
                           ;change block bi mat 3
                         ;end_command
                end_if
              end_if

              if _disp1 >= _disp_e4 then
                if _disp1 < _disp_e3 then
                  z_state(zi)=8  ;
                   ;command
                           ;mark block bi reg 10004
                           ;change block bi mat 4
                         ;end_command
                end_if
              end_if   
            
              if _disp1 >= _disp_e5 then
                if _disp1 < _disp_e4 then
                  z_state(zi)=16  ;
                   ;command
                           ;mark block bi reg 10005
                           ;change block bi mat 5
                         ;end_command
                end_if
              end_if                 
            
              if _disp1 < _disp_e5 then
                  z_state(zi)=32  ;
                   ;command
                           ;mark block bi reg 10006
                           ;change block bi mat 6
                         ;end_command
              end_if
                              


             zi=z_next(zi)      
        end_loop

       bi=b_next(bi)         
  endloop
end

_Mark

;set echo on

;seek
;pl surf pl
回复 不支持

使用道具 举报

发表于 2007-6-28 16:27:09 | 显示全部楼层 来自 清华大学
请参照上面格式 FISH 修改 即可
回复 不支持

使用道具 举报

 楼主| 发表于 2007-7-1 17:40:02 | 显示全部楼层 来自 四川宜宾
拜读中,感谢
回复 不支持

使用道具 举报

发表于 2016-5-17 23:30:00 | 显示全部楼层 来自 四川
请教楼主这个问题怎么解决的,谢谢告知
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-5-23 14:46 , Processed in 0.034755 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表