技术资讯
每一次案例的完美合作,是对我们团队高度认可,相信未来会更好!
技术资讯
成功案例
快速帮助
当前位置:首页 > 技术资讯 > 详情

梦想CAD控件打印相关

一、打印设置


在顶部快速访问工具栏单击打印按钮或者直接输入PLOT命令或者点击打印控制的打印设置按钮打开打印对话框。c#代码实现如下:


//打印设置
private void Print1()
{
    axMxDrawX1.SendStringToExecute("Plot");
}


打印对话框如下图所示,用户可以根据需求设置图纸尺寸和绘图设备,打印区域及打印参数等。


c#print.png


js代码实现如下:


//打印设置
function Print1() {
    mxOcx.SendStringToExecute("Plot");
}


打印对话框如下图所示,用户可以根据需求设置图纸尺寸和绘图设备,打印区域及打印参数等。


printplot.png


二、选择范围打印


用户可以在打印设置里面的打印区域的自由选择或者点击打印控制的选择范围打印实现功能。c#实现代码如下:


private void PrintRange()
{
    MxDrawUtility mxUtility = new MxDrawUtility();
    //点取第一点
    MxDrawPoint point = (MxDrawPoint)(mxUtility.GetPoint(null, "点取第一点..."));
    if (point == null)
        return;
    //点取第二点
    MxDrawPoint point1 = (MxDrawPoint)(mxUtility.GetPoint(null, "点取第二点..."));
    if (point1 == null)
        return;
    MxDrawPrint print = new MxDrawPrint();
    //开始打印  参数一为打印的范围左下角X1;参数二为打印的范围左下角Y1
    //参数三为打印的范围右上角X2 ;参数四为打印的范围右上角Y2
    if (print.Print(point.x, point.y, point1.x, point1.y))
    {
        MessageBox.Show("打印成功");
    }
    else
    {
        MessageBox.Show("打印失败");
    }
}


用户可以在控件视区中选取所需打印内容进行打印,效果如下图所示:


c#userprint.png


js代码实现如下:


//选择范围打印
function Print() {
    //新建一个COM组件对象 参数为COM组件类名
    var getPt = mxOcx.NewComObject("IMxDrawUiPrPoint");
 
    getPt.message = "点取打印范围第一点";
 
    if (getPt.go() != 1) {
        return;
    }
    var frstPt = getPt.value();
    if (frstPt == null)
        return;
    //新创建IMxDrawUtility对象
    var utl = mxOcx.NewUtility();
    //与用户交互得一个矩形框  参数一矩形框一个对角点;参数二命令行提示
    var secondPt = utl.GetCorner(frstPt, "点取打印范围第二点");
    if (secondPt == null)
        return;
    //新建一个COM组件对象 参数为COM组件类名
    var print = mxOcx.NewComObject("IMxDrawPrint");
    //开始打印  参数一为打印的范围左下角X1;参数二为打印的范围左下角Y1
    //参数三为打印的范围右上角X2 ;参数四为打印的范围右上角Y2
    if (print.Print(frstPt.x, frstPt.y, secondPt.x, secondPt.y)) {
        alert("打印成功");
    }
    else {
        alert("打印失败");
    }
}


用户可以在控件视区中选取所需打印内容进行打印,效果如下图所示:


userprint.png


三、给定中心点缩放打印


用户可以在控件视区选取打印的中心点进行打印。c#代码实现如下:


private void Print2()
{
    MxDrawUtility mxUtility = new MxDrawUtility();
    //点取打印中心点
    MxDrawPoint point = (MxDrawPoint)(mxUtility.GetPoint(null, "点取第一点..."));
    if (point == null)
        return;        
    MxDrawPrint print = new MxDrawPrint();        
    //开始打印  参数一为打印的范围左下角X1;参数二为打印的范围左下角Y1
    //参数三为打印的范围右上角X2 ;参数四为打印的范围右上角Y2
    if (print.Print2(point.x, point.y, 2))
    {
        MessageBox.Show("打印成功");
    }
    else
    {
        MessageBox.Show("打印失败");
    }
}


js代码实现如下:


//按给定的中心点,缩放比例打印
function Print2() {
    //新建一个COM组件对象 参数为COM组件类名
    var getPt = mxOcx.NewComObject("IMxDrawUiPrPoint");
 
    getPt.message = "点取打印中心点";
 
    if (getPt.go() != 1) {
        return;
    }
    var frstPt = getPt.value();
    if (frstPt == null)
        return;
 
    //新建一个COM组件对象 参数为COM组件类名
    var print = mxOcx.NewComObject("IMxDrawPrint");
    //开始打印  参数一为打印的范围左下角X1;参数二为打印的范围左下角Y1
    //参数三为打印的范围右上角X2 ;参数四为打印的范围右上角Y2
    if (print.Print2(frstPt.x, frstPt.y,2)) {
        alert("打印成功");
    }
    else {
        alert("打印失败");
    }
}


四、添加页眉或页脚数据


用户选取所需打印范围进行打印,并为其添加页眉和页脚数据。c#代码实现如下:


private void AddPageComment()
{
    MxDrawUtility mxUtility = new MxDrawUtility();
    //点取第一点
    MxDrawPoint point = (MxDrawPoint)(mxUtility.GetPoint(null, "点取第一点..."));
    if (point == null)
        return;
    //点取第二点
    MxDrawPoint point1 = (MxDrawPoint)(mxUtility.GetPoint(null, "点取第二点..."));
    if (point1 == null)
        return;
    MxDrawPrint print = new MxDrawPrint();
    //添加一个页眉或页脚数据
    // 参数一为打印的文字内容;参数二为字体;参数三为字体大小,单位是mm ;参数四为字体位置
    print.AddPageComment("TTTTTT中文", "宋体", 3, 1);
    print.AddPageComment("TTTTTT中文", "宋体", 3, 2);
    print.AddPageComment("TTTTTT中文", "宋体", 3, 3);
    print.AddPageComment("TTTTTT中文2", "宋体", 3, 4);
    print.AddPageComment("TTTTTT中文2", "宋体", 3, 5);
    print.AddPageComment("TTTTTT中文2", "宋体", 3, 6);
    //开始打印  参数一为打印的范围左下角X1;参数二为打印的范围左下角Y1
    //参数三为打印的范围右上角X2 ;参数四为打印的范围右上角Y2
    if (print.Print(point.x, point.y, point1.x, point1.y))
    {
        MessageBox.Show("打印成功");
    }
    else
    {
        MessageBox.Show("打印失败");
    }
}


如下图所示:


c#addpage.png


js代码实现如下:


//添加一个页眉或页脚数据
function AddPageComment() {
    //新建一个COM组件对象 参数为COM组件类名
    var getPt = mxOcx.NewComObject("IMxDrawUiPrPoint");
 
    getPt.message = "点取打印范围第一点";
 
    if (getPt.go() != 1) {
        return;
    }
    var frstPt = getPt.value();
    if (frstPt == null)
        return;
    //新创建IMxDrawUtility对象
    var utl = mxOcx.NewUtility();
    //与用户交互得一个矩形框  参数一矩形框一个对角点;参数二命令行提示
    var secondPt = utl.GetCorner(frstPt, "点取打印范围第二点");
    if (secondPt == null)
        return;
    //新建一个COM组件对象 参数为COM组件类名
    var print = mxOcx.NewComObject("IMxDrawPrint");
    //添加一个页眉或页脚数据
    // 参数一为打印的文字内容;参数二为字体;参数三为字体大小,单位是mm ;参数四为字体位置
    print.AddPageComment("TTTTTT中文", "宋体", 3, 1);
    print.AddPageComment("TTTTTT中文", "宋体", 3, 2);
    print.AddPageComment("TTTTTT中文", "宋体", 3, 3);
    print.AddPageComment("TTTTTT中文2", "宋体", 3, 4);
    print.AddPageComment("TTTTTT中文2", "宋体", 3, 5);
    print.AddPageComment("TTTTTT中文2", "宋体", 3, 6);
    //开始打印  参数一为打印的范围左下角X1;参数二为打印的范围左下角Y1
    //参数三为打印的范围右上角X2 ;参数四为打印的范围右上角Y2
    if (print.Print(frstPt.x, frstPt.y, secondPt.x, secondPt.y)) {
        alert("打印成功");
    }
    else {
        alert("打印失败");
    }
}


如下图所示:


printaddpage.png

梦想CAD控件
梦想CAD是专业的CAD插件(控件),可轻松在网页、手机及BS/CS程序中浏览编辑DWG文件,不需安装AutoCAD即可运行。经十余年累积已非常稳定可靠,有关键的空间搜索算法,并使用汇编优化,可同时处理50万级实体,有非常高的图形显示和处理效率。
联系我们
技术TEL:400-888-5703
185-8173-1060
客服I QQ: 3570505660
技术I QQ: 827867134
技术II QQ:6884123
VIP服务购买
销售TEL:156-8136-8971
销售QQ:710714273
用户交流
控件QQ交流群1:73281982
控件QQ交流群2:112199959
MxCAD软件群 1:515771658
技术I:QQ
827867134
客服I:QQ
3570505660
销售QQ
710714273
联系电话400-888-5703