・ 線分を作図する

始点と終点を指定して線分を作図するサンプルです

;点を指示して線分を作図 (command)利用  ;
(defun Jo_draw_line_com ( / pts pte)
  (if (and
	(setq pts (getpoint "始点を指示")) ;現在のUCSで表された3D点が返る;
	(setq pte (getpoint pts "終点を指示")) ;現在のUCSで表された3D点が返る;
	)
    (command "._LINE" pts pte "") ;現在のUCSで作図;
    )
  )

;点を指示して線分を作図 (entmake)利用  ;
(defun Jo_draw_line_emake ( / pts pte)
  (if (and
	(setq pts (getpoint "始点を指示")) ;現在のUCSで表された3D点が返る;
	(setq pte (getpoint pts "終点を指示")) ;現在のUCSで表された3D点が返る;
	)
    (entmake ;WCSで作図;
      (list
	'(0 . "LINE")
	(cons 10 (trans pts 1 0)) ;UCSでの3D点をWCSに変換;
	(cons 11 (trans pte 1 0)) ;UCSでの3D点をWCSに変換;
	)
      )
    )
  )

;点を指示して線分を作図 ActiveX 利用  ;
(defun Jo_draw_line_ax ( / obj_acad obj_adoc obj_util obj_model
			pts pte ptx)
  (vl-load-com)
  (setq obj_acad (vlax-Get-Acad-Object))
  (setq obj_adoc (vla-Get-ActiveDocument obj_acad ))
  (setq obj_util (vla-get-Utility obj_adoc))
  (setq obj_model (vla-get-ModelSpace obj_adoc))
  (setq pts (vla-GetPoint obj_util , "始点を指示")) ;WCSで表された3D点が返る;
  (setq ptx (vla-TranslateCoordinates obj_util pts 0 1 0));acWorld=0 acUCS=1 で座標変換;
  (setq pte (vla-GetPoint obj_util ptx "終点を指示")) ;WCSで表された3D点が返る;
  (vla-AddLine obj_model pts pte) ;WCSで作図;
  )