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

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

 

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

:gccで点と点マーカを円に変換する
@echo off
if not exist %~dpn0.exe (
  for /f "delims=:" %%n in ('findstr /n "^#!" %0') do (
    more +%%n %0 > %~dpn0.c
    gcc -Os %~dpn0.c -o %~dpn0.exe -s
  )
)
set a=点を残す
:set a=
%~dpn0
goto:eof

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

#!この次の行からプログラムを書いてください
#include "jw.h"
int main(void)
{
  FILE *f, *g;
  int NF;
  char S_[256], S0[256], *F[20];
  double r = 10.0;
  if ( (f = fopen("jwc_temp.txt", "r")) != NULL) {
    g = fopen("myfiles", "w");
    while (fgets(S_, 256, f) != NULL) {
      strcpy(S0, S_);
      NF = split(chomp(S_), F);
      if (strncmp(S_, "pt", 2) == 0 && (NF == 3 || NF == 6)) {
        fprintf(g, "ci %s %s %g\n", F[1], F[2], r);
        if (getenv("a")) { fprintf(g, S0); }
      } else {
        if (strncmp(S_, "hq", 2) == 0) {
          fprintf(g, "hd\n");
          fprintf(g, "bz\n");
        } else {
          fprintf(g, S0);
        }
      }
    }
  } else {
    exit(MISSING_JWC_TEMP_TXT);
  }
  fclose(g);
  fclose(f);
  remove("jwc_temp.txt");
  rename("myfiles", "jwc_temp.txt");
  return 0;
}