未找到

未发布 3D造型引擎3D ACIS Modeling 发布2018.1.0版本
by Harriet666 keys 分享 1511947459181
3D ACIS® Modeler (ACIS) 是 Spatial 久负盛名的 3D 造型引擎,为超过 350 种客户应用程序所采用,全球应用量超过 150 万套。ACIS 采用面向对象的开放 C++ 架构,拥有强大的 3D 造型能力。ACIS 集成了线框、曲面和实体造型的功能,支持流形和非流形拓扑,具备非常丰富的几何运算集,因此非常适用于构建具有混合造型功能的 3D 应用程序。
 
ACIS不仅具备非常完善的 3D 造型功能,而且灵活性强,可满足各种应用程序要求。此外,3D Modeling 的 ACIS 扩展功能还能满足特定的应用需求,其中包括隐藏线去除、可变形造型、高级遮盖和特征去除。
 
3D ACIS Modeler 2018.1.0更新内容:
通过先进的测试方法,Spatial在此版本中继续专注于稳定性和可靠性。我们还在模型稳定性方面做了一些改进:
  • 新的Boolean方法改进了200多个案例。
  • 高级Remove Faces算法解决了几种新的几何排列类型。

试用、下载、了解更多产品信息请点击"咨询在线客服"   

未发布 快速制作演示动画的工具TurboDemo常见问题合集(二)
by Harriet666 keys 分享 1505467594160
使用TurboDemo遇到了问题?我们的FAQ将帮助你找到答案。
TurboDemo

8、怎样添加超链接?

  1. 使用“绘制对象”添加您希望创建超链接的区域(如手绘图形、矩形或椭圆)
  2. 双击您定义的对象以将它指定给URL
  3. 您可以将互联网地址、电子邮件地址或任何您需要的超链接插入到“URL”字段中
如果用户点击已定义的区域,URL将被打开。您可以从演示示例中打开外部网页或直接开始运行另一个演示示例。
 

9、怎样调整工程大小?

在您完成您的工程后,如果需要您可以改变工程的大小。您可以缩小您工程的大小也可将它扩大。您可在“文件|调整工程大小”菜单中运行该功能
。
我们建议您在添加任何对象(如,备注、提示气球等)前调整工程大小,因为这将影响对象定位。
 

10、怎样将声音插入幻灯?

几种添加声音的方法:
  • 当您在进行大纲视图浏览时,您可以点击特定幻灯的喇叭图标
  • 在单个幻灯模式中,您能在工具条中找到喇叭图标
使用这两个图标,“音频向导”将提示您可以录制或导入声音。向导的“高级模式”允许您访问具备附加功能的“音频编辑器”,这些附加功能包
括复制、剪切、规整化等。
 

11、怎样隐藏或更改鼠标指针?

您可以使用位于工具条中或在“幻灯片|隐藏鼠标指针”菜单中的图标隐藏鼠标指针。可通过双击幻灯中或在“幻灯片|选择鼠标指针
”菜单中的指针图标改变鼠标指针外观。
 

12、在更改了鼠标指针的位置后,鼠标指针的表现奇怪。

在解释此问题前,我们需要解释TurboDemo工作原理:
  • “蓝圈”表示鼠标指针的起始点,“红圈”表示鼠标指针的结束点
  • TurboDemo将自动统计这些点之间的路径
  • 当您使用TurboDemo制作屏幕截图时,软件将记录当前鼠标指针的位置(起始点)
  • 在抓取下一张屏幕截图时,TurboDemo将记录鼠标指针现在的位置以及新坐标(结束点)
  • 鼠标指针在一张幻灯中的结束点通常是下一张幻灯的起始点。所以照例所说,当您在一张幻灯中移动了起始点(蓝圈),您会发现在上一张的结束
  • 点(红圈)位置也改变了
 

13、什么是“鼠标悬浮”?

“鼠标虚浮”就是当您在演示过程中将鼠标移动到特定位置时向您显示提示气球或图片的对象。这通常用在您不想通过会遗留在幻灯上的备注与提
示气球解释屏幕上不同内容的时候。
 

14、当播放演示示例时没有导航。

这通常发生在您用全屏制作演示示例的时候。问题就在于导航条都是放在演示文件的底部或右侧,所以就看不见导航了。您可以使用调整大小选项
(“文件|调整工程大小”菜单) 缩小工程的大小,这样就能看见导航条;或您可以在导出工程时选择一个隐藏的控制面板。
【示例教程】如何用LEADTOOLS 实现一个简单的STORE SCU存储客户端
by Harriet666 keys 分享 1519722017492
leadtools提供了封装后的dicom插件,可以非常方便的开发出dicom通讯部分的组件,本篇教程讲解如何使用相关的接口进行代码编写,实现Dicom协议中的CStore存储操作。
 
1.用vs2015创建一个winform项目,引用下面的dll,并在代码里引用
using Leadtools;
using Leadtools.Dicom;
using Leadtools.Dicom.Scu.Common;
using Leadtools.Dicom.Scu;
using Leadtools.MedicalViewer;
using System.Net;
using System.IO;
 
2.创建下面的对象
// CStore highlevel 客户端和服务端对象
        private StoreScu _cstore;
        private DicomScp _server = new DicomScp();
 
3.初始化服务器和客户端参数,
本次用的服务器即是开发包中运行pacs服务器设置程序后,创建的L19_PACS_SCP64
private void initServer() {
            _server = new DicomScp();
            _server.AETitle = "L19_PACS_SCP64";
            _server.PeerAddress = IPAddress.Parse("10.32.1.75");
            _server.Port = 534;
            _server.Timeout = 30;
        }
private void initCstore() {
            _cstore = new StoreScu();
            _cstore.AETitle = "L19_CLIENT64";
            _cstore.HostPort = 1030;
            //存储成功后
            _cstore.AfterCStore += _cstore_AfterCStore;
        }
 
4.执行存储命令
private void 存储ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string filename ="D:\\Xa.dcm";
            _cstore.Store(_server, filename);

        }

保存成功后即可在服务器管理器中,或者使用客户端查询已经存储的图像。
【百厂约惠】喜迎2018,CADSoftTools全线产品劲享6.7折!
by Harriet666 keys 分享 1514884931560
CADSoftTools已开发出一系列工业与建筑绘图软件产品。CADSoftTools旨在帮助客户更方便有效地处理设计与项目文档。CADSoftTools在读取、保存和编辑AutoCAD ™ DWG、DXF、 DWF 、HPGL、PLT、SPL、SVG 、 CGM 格式的文件方面具有自主核心技术。旗下产品CAD .NET、CADViewX、ABViewer、CAD EditorX、CAD VCL Enterprise、Web CAD SDK、CAD DLL等产品深受用户的青睐。
 
CADSoftTools全线产品低至6.7折!全年仅此一次,错过不再有!
 
截止时间:2018.1.31
 
 
CAD.NET是一个在.NET环境中提供解决方案的库,
它支持AutoCAD®DWG,DXF,PLT及其它CAD格式。
 
 
CADViewX一款能让应用程序
具有强大CAD图像浏览和打印
功能的图像处理工具。
 
 
ABViewer是一款高质量的2D/3D文档查看器,
可提供专业的浏览、编辑和转换功能,
支持30多种光栅和矢量图形格式。
 
 
CAD EditorX提供易用
的API和大量的示例方便开发者快速集成。
 
 
 
CAD VCL Enterprise是一个
高品质多功能且含源码的控件。
 
 
 
 
用于通过Internet、Intranet、
Sharepoint、Office 365 及其他在线 HTML5
启用技术查看DWG和其他CAD文件。
 
                                                       
 
CAD DLL是一个为开发者打造的
新版本CAD库,可在支持动态链接
库技术的语言中添加CAD功能到应用程序中。
 
 

更多CADSoftTools产品点击查看>>>

未发布 【示例教程】如何用leadtools创建一个OCR驱动的计算器
by Harriet666 keys 分享 1519808939687

Leadtools 19总套包下载>>>

日常工作和业务中会有一些图片中的计算公式等需要计算,这个代码片断显示了LEADTOOLS OCR可以用来检测、识别和执行简单的数学命题,如“2 + 2”。
static void SimpleOCRCalculator(string filePath)
      {
         RasterCodecs codecs = new RasterCodecs();

         RasterImage image = codecs.Load(filePath);

         string[] calculations;
         using (IOcrEngine engine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, false))
         {
            engine.Startup(null, null, null, null);
            IOcrPage page = engine.CreatePage(image, OcrImageSharingMode.None);

            page.AutoZone(null);
            page.Recognize(null);

            calculations = new string[page.Zones.Count];

            for (int i = 0; i < page.Zones.Count; i++)
            {
               calculations[i] = page.GetText(i);
            }

            engine.Shutdown();
         }

         Dictionary<string, Action<double, double>> operands = new Dictionary<string, Action<double, double>>();
         operands.Add("+", new Action<double, double>(delegate(double a, double b) { double ans = a + b; Console.WriteLine("{0} + {1} = {2}", a, b, ans); }));
         operands.Add("-", new Action<double, double>(delegate(double a, double b) { double ans = a - b; Console.WriteLine("{0} - {1} = {2}", a, b, ans); }));
         operands.Add("x", new Action<double, double>(delegate(double a, double b) { double ans = a * b; Console.WriteLine("{0} * {1} = {2}", a, b, ans); }));
         operands.Add("/", new Action<double, double>(delegate(double a, double b) { double ans = a / b; Console.WriteLine("{0} / {1} = {2}", a, b, ans); }));

         for (int i = 0; i < calculations.Length; i++)
         {
            string equation = Regex.Replace(calculations[i], @"\n|\r| ", "");
            string[] ops = new string[] { "+", "-", "x", "/" };

            for (int j = 0; j < ops.Length; j++)
            {
               int index = equation.IndexOf(ops[j]);

               if (index > 0 && index < equation.Length)
               {
                  string op1 = equation.Substring(0, index);
                  string op2 = equation.Substring(index + 1);

                  double arg1 = double.Parse(op1);
                  double arg2 = double.Parse(op2);

                  operands[ops[j]](arg1, arg2);

                  break;
               }
            }
         }

         codecs.Dispose();
         image.Dispose();
      }

 

用于测试的图像如下。

resource

未发布 MailBee.NET Objects接收电子邮件(POP3)教程一:接收简单的电子邮件
by Harriet666 keys 分享 1497516049930
MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。
 
 
本文主要介绍了接收电子邮件(POP3)的代码示例。目前MailBee.NET Objects在线订购享75折优惠正在进行中,欢迎您下载试用版进行运用!

要接收简单的电子邮件,开发人员应使用POP3对象。创建此对象的新实例,如下所示:
C#:
Pop3 pop = new Pop3();
VB.NET:
Dim pop As Pop3 =  New Pop3()

基本属性和方法

要接收电子邮件,MailBee.NET Obiects与POP3服务器通信。要连接到POP3服务器,开发人员只需指定此POP3服务器的主机名(或相同的IP地址),如下所示:
C#:
pop.Connect("mail.domain.com");
VB.NET:
pop.Connect("mail.domain.com")
 
或者
C#:
pop.Connect("127.0.0.1");
VB.NET:
pop.Connect("127.0.0.1")
 
由于所有POP3服务器都需要身份验证,开发人员应指定登录邮箱的登录名和密码,如下所示:
C#:
pop.Login("login", "password");
VB.NET:
pop.Login("login", "password")
 
当开发人员成功登录邮箱时,可以通过调用POP3对象的DownloadEntireMessage方法轻松下载此邮箱包含的任何邮件。调用此方法时,开发人员应指定邮件的索引。例如,以下代码行表示从收件箱下载最后一封邮件:
C#:
MailMessage msg = pop.DownloadEntireMessage(pop.InboxMessageCount);
VB.NET:
Dim msg As MailMessage =  pop.DownloadEntireMessage(pop.InboxMessageCount)
 
其中:
  • pop.InboxMessageCount是一个属性,包含邮箱中存储的邮件总数;
  • msg是一个MailMessage对象,表示单个电子邮件。
注意!如果邮箱中没有邮件,则pop.InboxMessageCount属性为0并调用pop.DownloadEntireMessage(pop.InboxMessageCount)方法将出现错误。
 
如果要从邮箱下载中下载新邮件,开发者必须定义特殊的帮助函数。该功能应该查找已经下载邮件的现有数据库中邮件的UID。如果没有找到指定的UID,则将该邮件视为新邮件。因此,开发人员必须使用数据库引擎来存储所有接收到的邮件UID。
 
最后,当邮箱完成所有必要的操作,并且与POP3服务器的连接无效时,开发人员应该调用POP3对象的Disconnect方法以断开与POP3服务器的连接,如下所示:
C#:
pop.Disconnect();
VB.NET:
pop.Disconnect()

示例代码:

以下示例从指定的邮箱中下载最新的邮件,并显示此邮件的正文。
在使用MailBee.NET Objects之前,请确保它已解锁。
C#:
using System;
using MailBee;
using MailBee.Pop3Mail;
using MailBee.Mime;
namespace EmailApp
{
    class Class1
    {
        [STAThread]
        static bool IsNewMessage(string UID)
        {
            return true;
        }
        static void Main(string[] args)
        {
            Pop3 pop = new Pop3();
            try
            {
                pop.Connect("mail.domain.com");
                pop.Login("login", "password");
                Console.WriteLine("Successfully logged in.");
            }
            catch(MailBeePop3LoginNegativeResponseException)
            {
                Console.WriteLine("POP3 server replied with a negative response at login.");
            }
            string[] arrIDs = pop.GetMessageUids();
            int n = pop.InboxMessageCount;
            if (IsNewMessage(arrIDs[n])) 
            {
                MailMessage msg = pop.DownloadEntireMessage(n);
                if (msg.BodyHtmlText != "") 
                     Console.WriteLine(msg.BodyHtmlText);
                else 
                    if (msg.BodyPlainText != "") 
                      Console.WriteLine(msg.BodyPlainText);
                    else 
                      Console.WriteLine("The body of this message is empty.");
            }
            try
            {
                pop.Disconnect();
                Console.WriteLine("Disconnected successfully.");
            }
            catch
            {
                Console.WriteLine("Disconnection failed.");
            }
        }
    }
}
VB.NET:
Imports System
Imports MailBee
Imports MailBee.Pop3Mail
Imports MailBee.Mime
 
Namespace EmailApp
    Class Class1
        _ 
 
        Shared Function IsNewMessage(ByVal UID As String) As Boolean
            Return True
        End Function
        Shared  Sub Main(ByVal args() As String)
            Dim pop As Pop3 =  New Pop3() 
 
            Try
                pop.Connect("mail.domain.com")
                pop.Login("login", "password")
                Console.WriteLine("Successfully logged in.")
            Catch
                Console.WriteLine("POP3 server replied with a negative response at login.")
            End Try
 
            Dim arrIDs() As String =  pop.GetMessageUids() 
            Dim n As Integer =  pop.InboxMessageCount 
            If IsNewMessage(arrIDs(n)) Then
                Dim msg As MailMessage =  pop.DownloadEntireMessage(n) 
 
                If msg.BodyHtmlText <> "" Then
                     Console.WriteLine(msg.BodyHtmlText)
                Else 
                  If msg.BodyPlainText <> "" Then
                    Console.WriteLine(msg.BodyPlainText)
                  Else 
                    Console.WriteLine("The body of this message is empty.")
                  End If
                End If
            End If
 
            Try
                pop.Disconnect()
                Console.WriteLine("Disconnected successfully.")
            Catch
                Console.WriteLine("Disconnection failed.")
            End Try
        End Sub
    End Class
End Namespace
 
以上就是本次教程的全部内容,接下来会有更多相关教程,敬请关注!您也可以在评论者留下你的经验和建议。

试用、下载、了解更多产品信息请点击"咨询在线客服"   

未发布 条码控件Dynamsoft Barcode Reader教程:从PDF417驾驶执照中提取数据
by Harriet666 keys 分享 1499929296192
根据AAMVA卡的设计标准,PDF417二维条码符号系统是符合驾驶执照/识别文件必须存在的最低强制性机读技术。条形码编码关于持卡人的关键信息,包括姓名、出生日期、性别、眼睛颜色、身高等等。
 
从驾驶执照中提取数据有两种方法。我们可以使用OCR技术识别ID上打印的字符。或者,我们可以使用条形码识别技术对PDF417符号系统进行解码,然后将其解析为可读的格式。一般来说,后者比前者更准确,性价比更高。
 
本文将讨论如何使用Dynamsoft Barcode Reader SDK从驾驶执照中提取文本。
 
Dynamsoft Barcode Reader最新版下载>>>

在线演示

要了解这是如何进行的,你可以尝试在线演示 - 查看驾驶执照的PDF417条码。
 
请注意,此演示还提供文档扫描,由Dynamsoft Web TWAIN SDK提供支持。

如何从PDF417驾驶执照中提取数据

步骤1.检测并解码PDF417代码
var barcodeImage = DWObject.GetImageURL(index, -1, -1);
dbrObject.readURLAsync(barcodeImage,
    index,
    GetBarcodeInfo,
    OnBarcodeReadFailure);
function OnBarcodeReadFailure(sImageIndex, errorCode, errorString) {
    console.log(errorString);
}
function GetBarcodeInfo(sImageIndex, result) {//This is the function called when barcode is read successfully
    //Retrieve barcode details
    var count = result.getCount();
    if (count == 0) {
        alert("The barcode for the selected format is not found.");
        return;
    } else {
        for (i = 0; i < count; i++) {
            Barcode_text = result.get(i).text;
            var x = result.get(i).x1;
            var y = result.get(i).y1;
            var format = result.get(i).formatString;
            var barcodeText = ("barcode[" + (i + 1) + "]: " + "\n" + Barcode_text + "\n");
            extractInformation();
        }
    }
}
 
步骤2.将其解析成可读的格式
driverLicenseFields = [
        { 'abbreviation': 'DAA', 'description': 'Full Name' }
        , { 'abbreviation': 'DAB', 'description': 'Last Name' }
        , { 'abbreviation': 'DAB', 'description': 'Family Name' }
        , { 'abbreviation': 'DAC', 'description': 'First Name' }
        , { 'abbreviation': 'DAC', 'description': 'Given Name' }
        , { 'abbreviation': 'DAD', 'description': 'Middle Name or Initial' }
        , { 'abbreviation': 'DAD', 'description': 'Middle Name' }
        , { 'abbreviation': 'DAE', 'description': 'Name Suffix' }
        , { 'abbreviation': 'DAF', 'description': 'Name Prefix' }
        , { 'abbreviation': 'DAG', 'description': 'Mailing Street Address1' }
        , { 'abbreviation': 'DAH', 'description': 'Mailing Street Address2' }
        , { 'abbreviation': 'DAI', 'description': 'Mailing City' }
        , { 'abbreviation': 'DAJ', 'description': 'Mailing Jurisdiction Code' }
        , { 'abbreviation': 'DAK', 'description': 'Mailing Postal Code' }
        , { 'abbreviation': 'DAL', 'description': 'Residence Street Address1' }
        , { 'abbreviation': 'DAM', 'description': 'Residence Street Address2' }
        , { 'abbreviation': 'DAN', 'description': 'Residence City' }
        , { 'abbreviation': 'DAO', 'description': 'Residence Jurisdiction Code' }
        , { 'abbreviation': 'DAP', 'description': 'Residence Postal Code' }
        , { 'abbreviation': 'DAQ', 'description': 'License or ID Number' }
        , { 'abbreviation': 'DAR', 'description': 'License Classification Code' }
        , { 'abbreviation': 'DAS', 'description': 'License Restriction Code' }
        , { 'abbreviation': 'DAT', 'description': 'License Endorsements Code' }
        , { 'abbreviation': 'DAU', 'description': 'Height in FT_IN' }
        , { 'abbreviation': 'DAV', 'description': 'Height in CM' }
        , { 'abbreviation': 'DAW', 'description': 'Weight in LBS' }
        , { 'abbreviation': 'DAX', 'description': 'Weight in KG' }
        , { 'abbreviation': 'DAY', 'description': 'Eye Color' }
        , { 'abbreviation': 'DAZ', 'description': 'Hair Color' }
        , { 'abbreviation': 'DBA', 'description': 'License Expiration Date' }
        , { 'abbreviation': 'DBB', 'description': 'Date of Birth' }
        , { 'abbreviation': 'DBC', 'description': 'Sex' }
        , { 'abbreviation': 'DBD', 'description': 'License or ID Document Issue Date' }
        , { 'abbreviation': 'DBE', 'description': 'Issue Timestamp' }
        , { 'abbreviation': 'DBF', 'description': 'Number of Duplicates' }
        , { 'abbreviation': 'DBG', 'description': 'Medical Indicator Codes' }
        , { 'abbreviation': 'DBH', 'description': 'Organ Donor' }
        , { 'abbreviation': 'DBI', 'description': 'Non-Resident Indicator' }
        , { 'abbreviation': 'DBJ', 'description': 'Unique Customer Identifier' }
        , { 'abbreviation': 'DBK', 'description': 'Social Security Number' }
        , { 'abbreviation': 'DBL', 'description': 'Date Of Birth' }
        , { 'abbreviation': 'DBM', 'description': 'Social Security Number' }
        , { 'abbreviation': 'DBN', 'description': 'Full Name' }
        , { 'abbreviation': 'DBO', 'description': 'Last Name' }
        , { 'abbreviation': 'DBO', 'description': 'Family Name' }
        , { 'abbreviation': 'DBP', 'description': 'First Name' }
        , { 'abbreviation': 'DBP', 'description': 'Given Name' }
        , { 'abbreviation': 'DBQ', 'description': 'Middle Name' }
        , { 'abbreviation': 'DBQ', 'description': 'Middle Name or Initial' }
        , { 'abbreviation': 'DBR', 'description': 'Suffix' }
        , { 'abbreviation': 'DBS', 'description': 'Prefix' }
        , { 'abbreviation': 'DCA', 'description': 'Virginia Specific Class' }
        , { 'abbreviation': 'DCB', 'description': 'Virginia Specific Restrictions' }
        , { 'abbreviation': 'DCD', 'description': 'Virginia Specific Endorsements' }
        , { 'abbreviation': 'DCE', 'description': 'Physical Description Weight Range' }
        , { 'abbreviation': 'DCF', 'description': 'Document Discriminator' }
        , { 'abbreviation': 'DCG', 'description': 'Country territory of issuance' }
        , { 'abbreviation': 'DCH', 'description': 'Federal Commercial Vehicle Codes' }
        , { 'abbreviation': 'DCI', 'description': 'Place of birth' }
        , { 'abbreviation': 'DCJ', 'description': 'Audit information' }
        , { 'abbreviation': 'DCK', 'description': 'Inventory Control Number' }
        , { 'abbreviation': 'DCL', 'description': 'Race Ethnicity' }
        , { 'abbreviation': 'DCM', 'description': 'Standard vehicle classification' }
        , { 'abbreviation': 'DCN', 'description': 'Standard endorsement code' }
        , { 'abbreviation': 'DCO', 'description': 'Standard restriction code' }
        , { 'abbreviation': 'DCP', 'description': 'Jurisdiction specific vehicle classification description' }
        , { 'abbreviation': 'DCQ', 'description': 'Jurisdiction-specific' }
        , { 'abbreviation': 'DCR', 'description': 'Jurisdiction specific restriction code description' }
        , { 'abbreviation': 'DCS', 'description': 'Family Name' }
        , { 'abbreviation': 'DCS', 'description': 'Last Name' }
        , { 'abbreviation': 'DCT', 'description': 'Given Name' }
        , { 'abbreviation': 'DCT', 'description': 'First Name' }
        , { 'abbreviation': 'DCU', 'description': 'Suffix' }
        , { 'abbreviation': 'DDA', 'description': 'Compliance Type' }
        , { 'abbreviation': 'DDB', 'description': 'Card Revision Date' }
        , { 'abbreviation': 'DDC', 'description': 'HazMat Endorsement Expiry Date' }
        , { 'abbreviation': 'DDD', 'description': 'Limited Duration Document Indicator' }
        , { 'abbreviation': 'DDE', 'description': 'Family Name Truncation' }
        , { 'abbreviation': 'DDF', 'description': 'First Names Truncation' }
        , { 'abbreviation': 'DDG', 'description': 'Middle Names Truncation' }
        , { 'abbreviation': 'DDH', 'description': 'Under 18 Until' }
        , { 'abbreviation': 'DDI', 'description': 'Under 19 Until' }
        , { 'abbreviation': 'DDJ', 'description': 'Under 21 Until' }
        , { 'abbreviation': 'DDK', 'description': 'Organ Donor Indicator' }
        , { 'abbreviation': 'DDL', 'description': 'Veteran Indicator' }
        , { 'abbreviation': 'PAA', 'description': 'Permit Classification Code' }
        , { 'abbreviation': 'PAB', 'description': 'Permit Expiration Date' }
        , { 'abbreviation': 'PAC', 'description': 'Permit Identifier' }
        , { 'abbreviation': 'PAD', 'description': 'Permit IssueDate' }
        , { 'abbreviation': 'PAE', 'description': 'Permit Restriction Code' }
        , { 'abbreviation': 'PAF', 'description': 'Permit Endorsement Code' }
        , { 'abbreviation': 'ZVA', 'description': 'Court Restriction Code' }
    ]
未发布 一体化建模仿真平台20-sim v4.6.3发布丨附下载
by Harriet666 keys 分享 1491378973047
20-sim是一种机电一体化系统的建模和仿真程序。利用20-sim可以像绘制工程方案一样灵活地的键入模型。这些模型能用于仿真和分析多域动态系统的特性,也可以创建控制系统,甚至可以生成C代码并用于快速原型设计和HIL仿真。

【20-sim v4.6最新版点击下载】

一体化建模仿真平台20-sim v4.6.3发布。此版本是一个维护版本,主要修复了以下问题:

编辑器

  • 修复:当“名称”文本不在矩形内时,无需重新调整图标中的矩形。
  • 改进:重新调整矩形应考虑到网格。
  • 修复:SVG相关内存泄漏。
  • 修复:当通过单键开关替换多键接点后,将单个端口连接到多端口绑定元件时出现异常。
  • 修复:带有掩码的库块可能会触发isRelease异常。
  • 改进:模型>处理>警告/错误>“端口未使用”重命名为“电源端口未使用”,因为它不适用于信号端口。
  • 运动配置文件编辑器:修复帮助按钮不可用的问题。
  • 修复:全局参数的工具提示在其他子模型中使用时未显示描述性注释。
  • 修复:在此库块的搜索操作后插入时,过滤器编辑器无法打开。

图标编辑器

  • 改进:图标更好地对齐到网格中。

界面编辑器

  • 特点:为重新排列输入和输出端口增加合计/关闭按钮。
  • 修复:树中的所选项目并不总是与所选端口相对应。
  • 修复:添加直到列表大于窗口时显示滚动条的端口。
  • 修复:当你创建一个新的信号端口并将其更改为输出时树不会刷新,仍然是一个输入。

线性系统编辑器

  • 修复:LSE在参数列表的第一个节点中显示汉字。

3D动画编辑器

  • 修复:为3D动画添加弹簧时,某些PC崩溃。

3D力学编辑器

  • 修复:Manual constraint joints可能会自动分配。

Processing

  • 修复:并非所有句法错误都会从全球关联编辑器报告给用户
  • 修复:当“Optimize divisions”启用时,某些型号的处理可能会失败
  • 修复:当按“保存”时,20-sim会尝试检查当前的子模型。这不应该完成,因为当前的子模型可能还没有完成。

Library

  • 修复:切换操作时Signal Mux block移动
  • 修复:当切换操作时Signal Demux block移动

模拟器

  • EulerAngles DLL:修复EulYXZsFromRotationMatrix意外计算相对性的问题。
  • 修复:打开模型时,模拟器中的单位信息将丢失而不进行模拟。
  • 修复:禁用模拟期间不可用的某些菜单选项。

脚本

  • 修复:防止模拟期间更改子模型。
  • 修复:包含“&”的路径中的模型无法使用脚本打开。
  • 改进:在xxsimSaveModel函数中接受斜杠语法。
  • Python:修复set_implementations()不接受Python 3.x下的dict的问题。
  • Python:修复各种脚本问题。
  • Python:添加get_version()函数(返回20-sim版本)
  • Octave:添加xxsimGetVersion()函数(返回20-sim版本)
  • Octave:增加了Octave 4.2.0的支持(Windows,32位)

C代码生成

  • 特点:C / C ++代码生成模板现在可以告诉20-sim这个模板支持哪些集成方法。支持在将来版本的模板中可变步长集成方法。
  • 修复:使用两个反斜杠的字符串参数的C代码生成三个反斜杠而不是四个。
  • 修复:在生成的子模型之外分配的全局字符串参数生成为空字符串。

文件

  • 入门手册:改进各种更正和阐述。
  • 参考手册:修复树中的函数名不能以capital开头的问题。
  • 参考手册:删除Windows XP和X-file格式(不再支持)
  • 文档生成:修复由于命名空间问题,XML文档生成的SVG文件无法在其他工具中打开的问题。
未发布 JMS消息平台FioranoMQ更新v10.3.0,改进共享HA功能
by Harriet666 keys 分享 1502874484088
FioranoMQ是世界上第一个基于网格、点对点JMS消息平台,具有强大且独特的功能,包括动态路由、消息流的分布式调试、JMS客户端应用程序的动态部署、无限的可扩展性、直接援引标准的JCA组件以及无与伦比的JMX标准易管理功能。在封闭的基准测试中超过每秒50,000条的消息,FioranoMQ还是世界上最快的独立的标准消息服务器。
 
v10.3.0新增

改进FioranoMQ共享HA(高可用性)功能

共享HA功能已得到增强,使其对活动代理和共享数据库以及锁定文件之间的网络中断更敏感。通过检查锁定文件是通过NFS共享创建还是使用本地文件,增加了更多安全检测来检查锁定文件上代理的真实性。
新增的共享HA代理解决了以下问题:
  • 当活动代理和共享数据库之间的网络连接断开时更改状态。
  • 数据库和锁定文件运行状况检查:如果活动代理与共享数据库的断开连接,代理将自动进行故障切换。
  • HA状态线程不会在任何情况下退出。
  • 切换到被动状态后,活动代理必须释放锁,让待机代理获取锁并变为活动状态。
共享HA部署必须满足以下条件:
  • 在多个NIC的情况下,HA对(主 - 辅)通信和网关服务器通信必须共享相同的网络接口卡。
  • 锁定文件和共享数据库必须共享相同的安装点。
  • HA中的代理不得与HAManager属性“Primary”共享相同的值。

CSP磁盘使用通知

当启用生产者故障快速功能时,“客户端持久性”(CSP)的磁盘使用率可能非常频繁,具体取决于将消息发送到队列或主题目标时设置的超时值。因此,引入了CSP磁盘使用警报机制。客户端应用程序通过在客户端进行日志记录并在特定生产应用程序的CSP的使用违反配置的阈值时发出提醒。
注意:此功能现在可在Java和C/C++ RTL中使用。

优化加载管理对象

在代理启动期间或通过JMX API调用时,通过XML文件加载管理对象已被优化,以处理更多数量的目标配置。优化确保使用某些常用目的地的客户端应用程序不会受到影响,从而避免长时间停顿。

MQTT安全和认证

支持创建与MQTT代理程序的安全连接。

CSharp RTL(JMS 2.0)的异步发送功能

新的发送方法已添加到MessageProducer中,允许消息异步发送。这些方法立即返回并在单独的线程中执行发送,而不阻塞调用线程。

JMX API

添加以下JMX API:
  • Connection MBean中的API来获取客户端版本信息和构建号。
  • 主题会话MBean下的API'getPersistentQueueSize()'和'getPSQAvailableMessageCount()'。
  • 'listAllSessionsInfo()',所有主题会话的列表及其PSQ度量。
  • 'getClientID(TopicSessionToken)'获取与主题会话令牌相关联的客户机ID。
  • 'get(set)LockFileValidationTimeout()',在共享HA中锁定文件验证超时。
  • 资源管理器mbean下的'getResourceCount()'分别获取由资源名称和实例计数组成的地图作为关键值。

CSharp RTL

在CSharp RTL中添加了新的管理API,用于限制基于IP地址的FioranoMQ代理。
“未接来电”,当代理人关机时调用的方法将在代理程序启动时存储和执行。此功能现在可在C#RTL中使用。
 
改变

  • FioranoMQ 10.3.0代理和Java RTL需要Java 8或更高版本。
  • 基于net beans的Studio工具将不再与FioranoMQ安装程序一起发送,与安装程序一起提供的基于eclipse的Studio将针对64位平台。
  • 共享HA条件:
    HA对(Primary-Secondary)通信和网关服务器通信必须共享相同的网络接口卡。
    锁定文件和共享数据库必须共享相同的装载点。
    HA中的代理不得与HAManager属性“Primary”共享相同的值。
  • 最新的C/C++ RTL库现在使用VS 2015构建。

查看完整更新内容>>>
未发布 Essential Studio for WPF更新至2017 v2,新增Adobe X安全性等功能丨附下载
by Harriet666 keys 分享 1495098904618
Essential Studio for WPF是一个帮您轻松创建利于分析且高性能Windows应用程序的WPF界面控件。包含了如 grids、charts、gauges、menus、calendars、editors等等。同时,文件格式库还允许您导出资料到Excel、World和PDF文件中,以及对这些格式的文件进行处理。
 
Essential Studio for WPF是一个大型组件,2017 v2新版本增加了工作簿排序和过滤、动态图表端口、Adobe X安全性和其他新的功能。
 

日历编辑

特殊日期标记

日历编辑控件中可以标记特殊日期。
c251f107933f4c0990beff6a87f91456ojpg

图表

区段颜色设置

图表中的每个段现已支持颜色贴图。
1615fa6734334912a18558f230ffcb33ojpg

多个样条曲线类型

图表控件现在支持样条区域的多个样条类型。
aadf541844db4041852f4a6308a3e597ojpg

图表

滚轮鼠标平移

通过将滚轮鼠标的中心滚动按钮移动到一侧,图表可以从左到右平移,反之亦然。
bd5702e304b9452e895f83d511fb2f26ojpg

片段装饰

连接器中添加了一种新的装饰元素,以指示连接在另一个连接器或片段上的流动。
13b3c8d533434e3585ff80e57a56190dojpg

滚动性能

当在图表中滚动大量对象时,将显示对象的轮廓,直到每个对象加载完成,从而平滑滚动。
9d799d41e34b409a943aa7139f3eda59ojpg

DocIO

增强Word转换PDF功能

DocIO现在支持Word到PDF转换期间的方程式字段。
2648b5574aea42bfa269f622e7f40982ojpg

编辑控件

支持Microsoft Visual Studio-like Go-To-Line

支持的内置会话窗口的Microsoft Visual Studio-like编辑器,用户可以选择浏览特定的行。
c81129e759744f0d9e5bed4829422e61ojpg

PDF

增强PDF安全功能

现在支持PDF 2.0安全功能(AES Revision 6)。
96ffdf5112f34cf1a921d5f3b35a6a90ojpg

演示

注释功能

可以在PowerPoint演示文稿中创建和修改注释。
6159be7538324e0eb727fb91ea87c1d4ojpg

属性网格

处理属性网格中的自定义描述符对象。
8824e56ca079454e9b0ada005d2c74b0ojpg

电子表格

排序和筛选

可以使用排序和自动过滤器选项在Excel中有效地分析数据。

排序

根据单元格值按升序或降序对数据进行排序。

过滤

使用自动过滤器功能过滤数据。如Excel中,该功能具有多个选项来过滤多列数据,以及从特定列中清除过滤数据的功能。
c9426becbed74cb08fb0696c14292254ojpg

树型网格

过滤

树状网格控件现在支持使用各种过滤器选项,用编程方的式过滤节点。
4d76cf0f1f0540199dc419345b1f83a5ojpg

XlsIO

Excel到PDF转换中的图标设置

Essential XlsIO支持使用“仅显示图标”和“反向图标顺序”选项进行PDF转换的自定义图标设置。
4ec86d3b6cda43cab676eac8e0dda486ojpg

增强图表转换图像功能

将图表转换为PDF文件或图像时,图表元素(如标题和显示单元)现在支持富文本和具有不同标记的图表系列。
227f9112c12a4974a4dc948a8b971bc3ojpg

数据透视表自定义排序

数据透视表列可以通过字符串数组或设置自定义位置进行排序。
897b6530731c48b6b3bd1454f90686c3ojpg

表格过滤器

可以根据文本、数值和日期过滤Excel表格行。

05dff7794d134a26b2031775e390dfcfojpg


 近期热门 - 点击最多
  1. ZOT 极简而强大的 Docker OCI 镜像仓库
  2. 用podman代替docker更轻量更安全的云原生容器:替换国内镜像源web窗口管理及开机自动重新启动
  3. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  4. Node.js 打印vite react+go项目目录树
  5. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  6. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  7. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  8. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  9. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  10. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别

  全端社区 - 最新回复
  1. 本地与云 MQTT通信:消息格式定义与配置
  2. MQTT 桥接(Bridging)介绍:解决弱网可靠传输、断网续传
  3. Mosquitto消息中间件简介与部署:本地MQTT服务器部署
  4. MediaMTX 摄像头部署与配置教程
  5. 在网页上播放摄像头RTSP视频流:实时摄像头在线播放的几种架构
  6. 让Docker在Gitea CI/CD流水线中登录http仓库:手写Docker认证信息
  7. ZOT 极简而强大的 Docker OCI 镜像仓库
  8. 用podman代替docker更轻量更安全的云原生容器:替换国内镜像源web窗口管理及开机自动重新启动
  9. 在无管理员权限的情况下,使用安装Python补全pip临时配置环境变量;即零权限使用node.js/npm
  10. Python鉴权方法:Depends 依赖注入;装饰器;与基于Proxy模式的Session状态管理自动计算脏属性;将用户数据存储在Redis中

  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA