jw_cad 外部変形 - (1147) javaで点と点マーカを円に変換する -

外部変形は データのやり取りをテキストファイルで行うので プログラム言語は 自由に選ぶことができます。図形は機能的かつシンプルなため、数多くのユーザーに受け入れられています。

 

javaで点と点マーカを円に変換する

:javaで点と点マーカを円に変換する
@echo off
if not exist %~dp0Poicir.class (
  for /f "delims=:" %%n in ('findstr /n "^#!" %0') do (
    more +%%n %0 > %~dpn0.java
    javac -encoding shift_jis %~dpn0.java
  )
)

set pt=点を残す
:set pt=点を残さない
set r=10

copy jwc_temp.txt myfiles > nul
java -Dfile.encoding=shift_jis -classpath %~dp0 Poicir > jwc_temp.txt
goto:eof

REM #jww
REM #h1
REM #g1
REM #hc 点と点マーカを選択してください
REM #bz
REM #e

#!この次の行からプログラムを書いてください
import java.io.*;
import java.util.regex.Pattern;

class Poicir {
  public static void main(String args) {
    String pt = System.getenv("pt");
    double r = Double.parseDouble(System.getenv("r"));
    try {
      BufferedReader f = new BufferedReader(new FileReader("myfiles"));
      String line;
      while ( (line = f.readLine()) != null) {
        if (Pattern.compile("^hq").matcher(line).find()) {
          System.out.println("hd\nbz");
          continue;
        } else {
          if (Pattern.compile("^pn").matcher(line).find()) {
            System.out.printf("lc%s%n", line.substring(2));
          }
        }
        if (Pattern.compile("^pt").matcher(line).find()) {
          String
str = line.split(" ", 2);
          String[] p = str[1].trim().split(" ");
          System.out.printf("ci %s %s %.15f%n", p[0], p[1], r);
          if (pt.equals("点を残す")) { System.out.println(line); }
          continue;
        }
        System.out.println(line);
      }
      f.close();
    } catch (IOException e) {
      System.out.println(e);
    }
  }
}