乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 70|回复: 5

JIG应该怎么写这个功能,狐哥

[复制链接]

275

主题

808

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1909
发表于 2009-9-30 15:11:00 | 显示全部楼层 |阅读模式
基点Copy?
这个和其他的Jig没有什么不同,你先看下例子吧
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2009-9-30 23:54:00 | 显示全部楼层
没做过这样的:)不会是直接拖动XLine的吧?
回复

使用道具 举报

275

主题

808

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1909
发表于 2009-10-1 21:58:00 | 显示全部楼层
KO入行时间太短,AutoCAD十字标的长短是可以设置的。
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2009-10-1 23:32:00 | 显示全部楼层
不好意思,图没看仔细。
回复

使用道具 举报

158

主题

2315

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2951
发表于 2009-10-2 07:19:00 | 显示全部楼层
XLine做应该是没有问题的,不知道有没更好的办法:)
有时间写个吧
国庆这两天休息太舒服了
回复

使用道具 举报

275

主题

808

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1909
发表于 2009-10-2 22:24:00 | 显示全部楼层
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using Autodesk.AutoCAD.EditorInput;
  5. using Autodesk.AutoCAD.DatabaseServices;
  6. using Autodesk.AutoCAD.Runtime;
  7. using Autodesk.AutoCAD.Geometry;
  8. using Autodesk.AutoCAD.ApplicationServices;
  9. [assembly: CommandClass(typeof(TlsCad.Jigs.TestJig1))]
  10. namespace TlsCad.Jigs
  11. {
  12.     public class TestJig1 : DrawJig
  13.     {
  14.         private Point3d _position;
  15.         private Xline _xline;
  16.         public TestJig1(Xline xline)
  17.         {
  18.             _xline = xline;
  19.         }
  20.         protected override bool WorldDraw(Autodesk.AutoCAD.GraphicsInterface.WorldDraw wd)
  21.         {
  22.             _xline.BasePoint = _position;
  23.             wd.Geometry.Draw(_xline);
  24.             return true;
  25.         }
  26.         protected override SamplerStatus Sampler(JigPrompts prompts)
  27.         {
  28.             JigPromptPointOptions jigOpts = new JigPromptPointOptions();
  29.             jigOpts.UserInputControls =
  30.                 UserInputControls.Accept3dCoordinates |
  31.                 UserInputControls.NoZeroResponseAccepted |
  32.                 UserInputControls.NoNegativeResponseAccepted;
  33.             jigOpts.Message = "\n请输入终点:";
  34.             jigOpts.Cursor = CursorType.EntitySelect;
  35.             PromptPointResult res = prompts.AcquirePoint(jigOpts);
  36.             if (res.Status == PromptStatus.OK)
  37.             {
  38.                 if (_position == res.Value)
  39.                 {
  40.                     return SamplerStatus.NoChange;
  41.                 }
  42.                 else
  43.                 {
  44.                     _position = res.Value;
  45.                     return SamplerStatus.OK;
  46.                 }
  47.             }
  48.             return SamplerStatus.Cancel;
  49.         }
  50.         [CommandMethod("tej")]
  51.         public static void DoIt()
  52.         {
  53.             Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
  54.             Xline xline = new Xline();
  55.             xline.BasePoint = Point3d.Origin;
  56.             xline.SecondPoint = Point3d.Origin + Vector3d.XAxis;
  57.             TestJig1 jig = new TestJig1(xline);
  58.             PromptResult var = ed.Drag(jig);
  59.             if (var.Status != PromptStatus.OK)
  60.             {
  61.                 return;
  62.             }
  63.         }
  64.     }
  65. }
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-14 13:19 , Processed in 0.459754 second(s), 64 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表