PROCEDURE Prim_Kuraidori; CONST {ForEachObjectInLayer} objOptions=2; {Selected} travOptions=0; {Shallow} layerOptions=0; {Current} FUNCTION Prim_Change(O_hd:HANDLE):BOOLEAN; CONST tDIMENSION=63; {寸法線} vDimensionType=26; {寸法の種類} dtAngular=5; {角度寸法線} vShowPrimDimText=6; {寸法値の表示(主単位)} vPrimLeadText=9; {前記号(主単位)} P_adjust=' '; VAR dt,lt :STRING; i :INTEGER; FUNCTION Prim_Comma(s:STRING):STRING; VAR i :INTEGER; BEGIN i := Pos ( '.', s ); IF i = 0 THEN BEGIN i := Len ( s ) + 1; END; WHILE i > 4 DO BEGIN i := i - 3; Insert ( ',', s, i ); END; Prim_Comma:=s; END; BEGIN IF ( GetType(O_hd)=tDIMENSION ) & ( GetObjectVariableInt(O_hd,vDimensionType)<>dtAngular ) THEN BEGIN dt:=Prim_Comma(GetDimText(O_hd)); lt:=GetObjectVariableString(O_hd,vPrimLeadText); i:=Pos(dt,lt); IF i=0 THEN BEGIN SetObjectVariableString(O_hd,vPrimLeadText,Concat(lt,dt,P_adjust)); SetObjectVariableBoolean(O_hd,vShowPrimDimText,FALSE); ResetObject(O_hd); END ELSE BEGIN Delete(lt,i,Len(dt)); i:=Pos(P_adjust,lt); IF i<>0 THEN Delete(lt,i,Len(P_adjust)); SetObjectVariableString(O_hd,vPrimLeadText,lt); SetObjectVariableBoolean(O_hd,vShowPrimDimText,TRUE); ResetObject(O_hd); END; END; ReDrawAll; Prim_Change:=FALSE; END; BEGIN ForEachObjectInLayer(Prim_Change,objOptions,travOptions,layerOptions); END; RUN(Prim_Kuraidori);