2005年07月05日

Edge2Curve

エッジからカーブを作るスクリプト

 

#! perl

#
# Edge2Curve
#
# エッジからカーブを作ります
#

 

my $mainLayer = lxq("query layerservice layers ? main");
my $numSelEdge = lxq("query layerservice edge.N ? selected");
my @selEdge = lxq("query layerservice edges ? selected");

my $errorMsg;

 

if( 1 == &errorCheck ){
 lxout("--- Edge2Curve.pl --- START");
 
 lx("select.drop polygon");
 foreach my $e (@selEdge){
  lx("select.drop vertex");
  my @verts = lxq("query layerservice edge.vertList ? $e");
  foreach my $v (@verts){
   lx("select.element $mainLayer vertex add $v");
  }
  lx("poly.make curve");
 }
 lx("select.type polygon");
 lx("poly.merge");
 
 lxout("--- Edge2Curve.pl --- END");
}else{
 lx("dialog.setup error");
 lx("dialog.msg $errorMsg");
 lx("dialog.open");
}

 

 


#errorCheck
sub errorCheck
{
 # エッジモードでない
 if( !lxq("select.typeFrom typelist:edge;vertex;polygon;item ?") ){
  $errorMsg = "Must be in Edge selection mode.";
  return 0;
 }
 # エッジが選択されていない
 if( 1 > $numSelEdge ){
  $errorMsg = "Select Edges.";
  return 0;
 }
 
 return 1;
}

 

【関連する記事】
posted by toka at 21:53| Comment(2) | TrackBack(0) | modo: perl | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
はじめまして。
素敵なスクリプトですね。
もしこれを手作業でやろうとすると、モード変換後のvertexの順番がおかしくなってしまうところですが、とてもきれいにカーブができあがりますね。
Posted by Takumi at 2005年07月06日 13:48
はじめまして

> 素敵なスクリプトですね。

ありがとうございます。modomode(http://popover.blogzine.jp/weblog/)の中の人からコメント頂けるなんて。日本語の情報が多いので毎日拝見してます。

> もしこれを手作業でやろうとすると、モード変換後のvertexの順番がおかしくなってしまうところですが、とてもきれいにカーブができあがりますね。

実は最後にカーブをまとめてマージしてるだけなんで、エッジが十字に交差してるところは苦手だったりします。
Posted by toka at 2005年07月22日 23:45
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:


この記事へのトラックバック
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。