iCAx开思工具箱

标题: 哪位兄弟帮我改一下下面这段代码 [打印本页]

作者: Momo1984    时间: 2009-5-24 20:19
标题: 哪位兄弟帮我改一下下面这段代码
$$实体颜色与图层设置源代码
ENTITY/S1,BOX1
NUMBER/M,NUM

l10:
CHOOSE/'选择项目','前模',$
                '后模',resp

JUMP/l10:,trm:,,,lab1:,lab2:,rsp


lab1:
&COLOR(S1)=5
&LAYER(S1)=30
JUMP/l20:

lab2:
&COLOR(S1)=51
&LAYER(S1)=32
JUMP/l20:

l20:
IDENT/'请您选择需改变颜色的实体',SCOPE,WORK,S1,CNT,NUM,resp
JUMP/l20:,trm:,,,resp  $$选择实体

JUMP/l20:
trm:
HALT
作者: Momo1984    时间: 2009-5-24 20:20
帮看一下哪里出问题了, 我要的功能是选一个物件,就归到相应的图层,并改成相应的颜色……………
作者: qianwei11    时间: 2009-5-25 08:56
运行的逻辑有错误,应该先选择好物体,才能把这些选择的物体放置层并改变颜色。


作者: Momo1984    时间: 2009-5-25 09:05
谢谢楼上,明白……………
作者: qianwei11    时间: 2009-5-25 10:03
$$实体颜色与图层设置源代码
$$编写--aaron QQ:308220800
ENTITY/S1(1000)   $$选择的物体可是是多个
NUMBER/M,i   $$像num这些可以不定义,M用来做判断

i=1

l10:
CHOOSE/'选择项目','前模',$
              '后模',resp
JUMP/l10:,trm:,,,pd1:,pd2:,resp

pd1:
M=1
jump/l20:

pd2:
M=2
jump/l20:

l20:
IDENT/'请您选择需改变颜色的实体',S1,CNT,NUM,resp   $$选择实体
JUMP/l10:,trm:,,resp
IFTHEN/ M==1
JUMP/lab1:
ELSEIF/ M==2
JUMP/lab2:
ELSE
JUMP/trm:
ENDIF

lab1:
IFTHEN/i<=num
&COLOR(S1(i))=5
&LAYER(S1(i))=30
i=i+1
JUMP/lab1:
ENDIF
&lyrsel(30)=1   $$把30层设置为可选
JUMP/trm:


lab2:
IFTHEN/i<=num
&COLOR(S1(i))=51
&LAYER(S1(i))=32
i=i+1
JUMP/lab2:
ENDIF
&lyrsel(32)=1   $$把32层设置为可选
JUMP/trm:

trm:
HALT
作者: qianwei11    时间: 2009-5-25 10:11
以后有什么问题可以共同探讨,我也是刚学,我发现只有遇到问题,在解决问题的过程中才能更加深刻地去理解。
作者: cl0418    时间: 2010-4-5 22:36
这样做应该简单点

$$实体颜色与图层设置源代码

ENTITY/S1,BOX1
NUMBER/M,NUM,gresp

l10:
CHOOSE/'选择项目','前模',$
                '后模',gresp
if/gresp==1,jump/l10:
if/gresp==2,jump/trm:
if/gresp==4,jump/l20:

l20:
IDENT/'请您选择需改变颜色的实体',SCOPE,WORK,S1,CNT,NUM,resp
JUMP/l20:,trm:,,,resp  $$选择实体

$$判断前后模的选择
if/gresp==5,jump/lab1:  
if/gresp==6,jump/lab2:

lab1:
&COLOR(S1)=5
&LAYER(S1)=30
JUMP/l20:

lab2:
&COLOR(S1)=51
&LAYER(S1)=32
JUMP/l20:
trm:
HALT


作者: wangcongwei1002    时间: 2010-4-8 23:35
不知道可否选择多个体?




欢迎光临 iCAx开思工具箱 (https://t.icax.org/) Powered by Discuz! X3.3