1. gcad执行快捷键有问题?
    尝试修改Setvar("autocompletemode", "19");原因是’输入按键时显示建议列表’这个项打钩了,这里首先捕捉的是lisp定义的命令,而不是pgp.
  2. 设置了系统变量:Dynmode,0动态输入,这个参数将导致zoom缩放的时候,鼠标会发生跳动,并有一定几率停留在边界.
    一定要多用zoom测试,即使不设置这个参数也是有一点几率发生鼠标跳动,只是设置了更容易看见这个问题,并且会产生停留.

  3. gcad的net的选择集参数有误. (最新的2019已经解决)
         //定义选择集选项
    
          PromptSelectionOptions pso = new PromptSelectionOptions
    
          { 
    
           // SingleOnly = true,                   //不需要空格确认,但是浩辰会变成鼠标单框
    
              SelectEverythingInAperture = true,   //鼠标单框
    
          };
    #if !HC2019
    using Autodesk.AutoCAD.ApplicationServices;
    using Autodesk.AutoCAD.DatabaseServices;
    using Autodesk.AutoCAD.DatabaseServices.Filters;
    using Autodesk.AutoCAD.EditorInput;
    using Autodesk.AutoCAD.Geometry;
    using Autodesk.AutoCAD.Runtime;
    using Autodesk.AutoCAD.Colors;
    using Autodesk.AutoCAD.GraphicsInterface;
    #else
    using GrxCAD.DatabaseServices;
    using GrxCAD.EditorInput;
    using GrxCAD.Geometry;
    using GrxCAD.ApplicationServices;
    using GrxCAD.Runtime;
    using GrxCAD.Colors;
    using GrxCAD.GraphicsInterface;
    #endif
    using System.Collections.Generic;
    using System.Linq; namespace JJBoxGstarCad_2019
    {
    public static class Test
    {
    //请先先用gcad测试test1和test2,可以看到两段代码的作用是一样的.
    //然后再用acad测试test1和test2,可以看到test2中的SingleOnly的作用. // SingleOnly = true的作用应该是"选择了图元后不需要空格确认"立马成为一个选择集,而不是成为一个鼠标单选框.
    // SelectEverythingInAperture = true,为鼠标单框. [CommandMethod("test1", CommandFlags.Modal | CommandFlags.UsePickSet)]
    public static void Test1()
    {
    Database db = HostApplicationServices.WorkingDatabase;//当前的数据库
    DocumentCollection doc = Application.DocumentManager;
    Editor ed = doc.MdiActiveDocument.Editor; //定义选择集选项
    PromptSelectionOptions pso = new PromptSelectionOptions
    {
    AllowDuplicates = false, //重复选择
    // SingleOnly = true, //不需要空格确认,但是浩辰会变成单选
    SelectEverythingInAperture = true, //鼠标单框
    };
    var ssPsr = ed.GetSelection(pso);
    if (ssPsr.Status != PromptStatus.OK) return;
    using (Transaction tr = db.TransactionManager.StartTransaction())
    {
    foreach (var id in ssPsr.Value.GetObjectIds())//遍历选择集亮显测试用
    {
    var ent = (Entity)id.GetObject(OpenMode.ForRead);
    ent.Highlight();
    }
    tr.Commit();
    }
    } [CommandMethod("test2", CommandFlags.Modal | CommandFlags.UsePickSet)]
    public static void Test2()
    {
    Database db = HostApplicationServices.WorkingDatabase;//当前的数据库
    DocumentCollection doc = Application.DocumentManager;
    Editor ed = doc.MdiActiveDocument.Editor; //定义选择集选项
    PromptSelectionOptions pso = new PromptSelectionOptions
    {
    AllowDuplicates = false, //重复选择
    SingleOnly = true, //不需要空格确认,但是浩辰会变成单选
    // SelectEverythingInAperture = true, //鼠标单框
    };
    var ssPsr = ed.GetSelection(pso);
    if (ssPsr.Status != PromptStatus.OK) return;
    using (Transaction tr = db.TransactionManager.StartTransaction())
    {
    foreach (var id in ssPsr.Value.GetObjectIds())//遍历选择集亮显测试用
    {
    var ent = (Entity)id.GetObject(OpenMode.ForRead);
    ent.Highlight();
    }
    tr.Commit();
    }
    }
    }
    }
  4. gcad的net的组块问题,这里将导致图元出现不可选择的问题..
    这里是一个很严重的问题,我的习惯是先生成图元到内存中,然后进行矩阵移动,最后再添加到数据库内.acad是允许这样操作的,这样操作也很符合常规思维,
    如果不能修复这个问题,那么将要先计算好再生成或者先生成到数据库再进行矩阵变换,
    前者编程思维要改变,代码改动很大,后者用户操作时候会发生卡顿等.
  5. #if !HC2019
    using Autodesk.AutoCAD.ApplicationServices;
    using Autodesk.AutoCAD.DatabaseServices;
    using Autodesk.AutoCAD.DatabaseServices.Filters;
    using Autodesk.AutoCAD.EditorInput;
    using Autodesk.AutoCAD.Geometry;
    using Autodesk.AutoCAD.Runtime;
    #else
    using GrxCAD.DatabaseServices;
    using GrxCAD.EditorInput;
    using GrxCAD.Geometry;
    using GrxCAD.ApplicationServices;
    using GrxCAD.Runtime;
    #endif
    using System;
    using static JingJingBoxDD.CadSystem; public class Command_jjline
    {
    [CommandMethod("LL", CommandFlags.Modal | CommandFlags.DocExclusiveLock)]
    public static void LL()
    {
    Database db = HostApplicationServices.WorkingDatabase;//当前的数据库
    Editor ed = Application.DocumentManager.MdiActiveDocument.Editor; try
    {
    PromptPointOptions ppo1 = new PromptPointOptions("\n指定第一点:");
    PromptPointResult ppr1 = ed.GetPoint(ppo1);//用户点选
    if (ppr1.Status != PromptStatus.OK)
    {
    return;
    } PromptPointOptions ppo2 = new PromptPointOptions("\n指定另一点:")
    {
    UseBasePoint = true,
    BasePoint = ppr1.Value
    };
    PromptPointResult ppr2 = ed.GetPoint(ppo2);//用户点选
    if (ppr2.Status != PromptStatus.OK)
    {
    return;
    } //生成xline
    using (Transaction tr = db.TransactionManager.StartTransaction())
    {
    //块表
    BlockTable bt = (BlockTable)tr.GetObject(db.BlockTableId, OpenMode.ForWrite);
    Line line = new Line
    {
    StartPoint = ppr1.Value,
    EndPoint = ppr2.Value,
    };
    //添加一个新的块表记录,这个记录将存放块参照的所有图元
    BlockTableRecord btrNew = new BlockTableRecord { Name = "test", Origin = line.StartPoint };
    btrNew.AppendEntity(line);
    bt.Add(btrNew);
    tr.AddNewlyCreatedDBObject(btrNew, true);//添加新创建的数据库对象 //新建块参照加入到当前空间
    BlockReference br = new BlockReference(line.StartPoint, btrNew.ObjectId)
    {
    ScaleFactors = new Scale3d()
    }; //当前空间的块表记录
    BlockTableRecord btrCu = (BlockTableRecord)tr.GetObject(db.CurrentSpaceId, OpenMode.ForWrite);
    var brId = btrCu.AppendEntity(br); //加入块表记录 //※※※※※※※※※※※※※※※※※ tr.AddNewlyCreatedDBObject(br, true); //这句如果在变形之后,将导致浩辰不可以选择块 //计算变换矩阵
    Matrix3d mt = Matrix3d.Rotation(Math.PI, Vector3d.ZAxis, line.StartPoint);
    Entity ent = (Entity)brId.GetObject(OpenMode.ForWrite);
    ent.TransformBy(mt); tr.AddNewlyCreatedDBObject(br, true); //这句如果在变形之后,将导致浩辰不可以选择块 btrCu.DowngradeOpen();
    br.DowngradeOpen();
    tr.Commit();
    }
    }
    catch (System.Exception e)
    {
    ed.WriteMessage(e.Message);
    throw e;
    }
    }
    }

    gcad.net与acad不同的地方,新建文字样式的时候如果用到.TTF字体,直接写字体名称就好了,不能够写"新宋体.TTF"不然浩辰出现以下情况:
    看上去是乱码的一坨东西,和文字样式面板的字体名多了个.TTF.SHX(X)
    而acad需要写".TTF".后缀名.那么此时是不是没有区分shx和ttf呢?

  6. 注册表问题:  string KEY = HostApplicationServices.Current.RegistryProductRootKey; //这里浩辰读出来是空字符串

  7. 注册表问题:  gcad一个注册表问题浩辰注册表在net4.0及以上工程获取注册表会出现以下问题,而用这在net3.5是没有的..

    要将代码改成以下获取:

    var copys = Registry.CurrentUser.OpenSubKey(@"Software\\Gstarsoft\\GstarCAD\\R19\\zh-CN\\");
    var b = copys.GetValueNames(); foreach (var item in b)
    {
    string sz = copys.GetValue(item).ToString();
    sz = sz.Remove(sz.IndexOf('\0'));
    Console.WriteLine(sz);
    }

一些浩辰设置及它的bug?的更多相关文章

  1. [易飞]设置导入导出规则-小BUG

    易飞系统在系统设置中-有设置导入导出规则,进行数据导入导出. 测试一:导入录入交易对象.从A账套导出到B账套,OK没有问题. 测试二:设置采购单单据性质. 导出结果: 怎么回事?把所有单据性质都导出了 ...

  2. cad.net 复制图元的时候按下多次esc导致复制中断的bug,令REGEN,REGENALL更新图元无效.

    浩辰没有这个bug !!!!!!! 如上述动图所示,cad在复制一个多图元的操作时候,多次按下esc键中断复制操作, **注意例子要有足够多的图元(大概一万个图元),才能很好展示这个bug,而且这个b ...

  3. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(22)-为用户设置角色

    ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装    ...

  4. margin的BUG

    在进行简单的div盒子嵌套时,发现设置margin-top时存在bug,然后就去谷歌搜索了一下,发现margin确实存在bug. bug的现象是父子元素嵌套时,如果子元素是块元素时,对块元素设置mar ...

  5. 【原创】基于禅道的Bug管理操作规范

    1. 禅道简介 禅道是一个基于"敏捷开发"模式的软件开发全生命周期管理软件,在国内的软件开发公司里占据了超过70%的份额,从大公司到小公司,都能适用. 禅道官网:http://ww ...

  6. 【原创】Bug管理操作规范个人经验总结

    1. 禅道简介 禅道是一个基于“敏捷开发”模式的软件开发全生命周期管理软件,在国内的软件开发公司里占据最大的份额,从大公司到小公司,都能适用. 笔者使用禅道多年,根据自己的经验总结了一套Bug管理的方 ...

  7. 本地IP,掩码,网关,DNS设置

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  8. 无需SherlockActionbar的SlidingMenu使用详解(一)——通过SlidingMenu设置容器并解决滑动卡顿的问题

    想必很多人都听过这个开源框架,一年前真的是风靡一时.只是它的配置较为繁琐,还需要sherlockActionbar的支持,我这里下载了最新的开源库,并且在实际用套用了AppCompat的官方库,这样就 ...

  9. 【iOS开发-56】案例BUG:button的enabled、控件的userInteractionEnabled以及两种提示框UIAlert和UIActionSheet

    接上述案例找BUG:[iOS开发-51]案例学习:动画新写法.删除子视图.视图顺序.延迟方法.button多功能使用方法及icon图标和启动页设置 (1)BUG:答案满了就不能再点击optionbut ...

随机推荐

  1. 【Linux】CentOS 7.2 安装 MySQL 5.7.21 解压版

    安装环境/工具 1.Linux(CentOS 7.2版) 2.mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz 安装步骤 1.下载mysql解压版(mysql-5. ...

  2. Django框架之序列化和上传文件

     一.Django的序列化(对于ajax请求) Django中的序列化主要应用在将数据库中检索的数据返回给客户端用户,特别的Ajax请求一般返回的为Json格式. 1)django序列化的使用方法 . ...

  3. tensorflow下识别手写数字基于MLP网络

    # coding: utf-8 # In[1]: import tensorflow as tf import tensorflow.examples.tutorials.mnist.input_da ...

  4. Codeforces 1107 简要题解

    文章目录 A题 B题 C题 D题 E题 F题 G题 传送门 A题 传送门 题意简述:问你能不能把一个数字串切成若干块,使得切出来的kkk个数k≤2k\le2k≤2满足a1<a2<...&l ...

  5. JDK 1.5、1.6 & 中文版API,J2EE5API大全(借鉴)

    个人分类: Java文档           Sun 公司提供的Java API Docs是学习和使用Java语言中最经常使用的参考资料之一.但是长期以来此文档只有英文版,对于中国地区的Java开发者 ...

  6. 第18章:MongoDB-聚合操作--聚合管道--$sort

    ①$sort 使用“$sort”可以实现排序,设置1表示升序,设置-1表示降序. ②范例:实现排序

  7. Mysql中Left Join Right Join Inner Join where条件的比较

    建立一对多的表 company 和 employee company表 id      name      address 1baidu北京 2huawei深圳 3jingdong北京 4tengxu ...

  8. Struts2--HelloWord

    Struts2官网 官网指南 官网下载Struts2.5-min-lib.zip解压把lib目录下jar包拷贝到web项目lib目录下 配置web.xml文件 <filter> <f ...

  9. 大压力下Redis参数调整要点

    调整以下参数,可以大幅度改善Redis集群的稳定性: 为何大压力下要这样调整? 最重要的原因之一Redis的主从复制,两者复制共享同一线程,虽然是异步复制的,但因为是单线程,所以也十分有限.如果主从间 ...

  10. 【Javascript第二重境界】序

    JS是个人比较喜欢的一门语言,在前端开发中也处于核心位置.前面断断续续的研究了一段时间,这其中包括 对象,原型,继承,函数,设计模式,模块,DOM操作,以及其它又多又琐碎的知识点,而且大部分内容都没有 ...