获取session所有属性(调试备用)

本文介绍了一种使用Java遍历并打印HttpSession中所有属性的方法。通过获取session对象的所有属性名称,然后逐一取出每个属性的值并打印出来。这段代码适用于需要检查session中存储的数据的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

	Enumeration enumeration=session.getAttributeNames();
while (enumeration.hasMoreElements()){

System.out.println(session.getAttribute(enumeration.nextElement().toString()));
}
int bianjieshunmian::apply_cb() { int errorCode = 0; try {// 获取NX会话和工作部件 NXOpen::Session* theSession = NXOpen::Session::GetSession(); NXOpen::Part* workPart = theSession->Parts()->Work(); NXOpen::UI* theUI = NXOpen::UI::GetUI(); std::vector<NXOpen::Curve*> sectionCurves1; if (edge_select0) { // 使用智能指针管理属性列表内存 std::unique_ptr<NXOpen::BlockStyler::PropertyList> props(edge_select0->GetProperties()); std::vector<NXOpen::TaggedObject*> selObjs = props->GetTaggedObjectVector("SelectedObjects"); for (NXOpen::TaggedObject* obj : selObjs) { if (NXOpen::Curve* curve = dynamic_cast<NXOpen::Curve*>(obj)) { sectionCurves1.push_back(curve); } } } //选择控件 vector<NXOpen::TaggedObject*> vFaces = face_select0->GetSelectedObjects();//获取选择的面 for (int i = 0; i < vFaces.size(); i++)//循环得到所有面 { tag_t faceTag = vFaces[i]->Tag(); //得到面的tag } // ====== 添加倒斜角功能开始 ====== try { // 创建撤销标记 NXOpen::Session::UndoMarkId markId = theSession->SetUndoMark( NXOpen::Session::MarkVisibilityVisible, "开始倒斜角"); // 创建倒斜角构建器 Features::ChamferBuilder* chamferBuilder = workPart->Features()->CreateChamferBuilder(nullptr); // 设置倒斜角参数 chamferBuilder->SetOption(Features::ChamferBuilder::ChamferOptionTwoOffsets); chamferBuilder->SetMethod(Features::ChamferBuilder::OffsetMethodEdgesAlongFaces); chamferBuilder->SetFirstOffset("0.5"); // 第一偏置值 chamferBuilder->SetSecondOffset("0.5"); // 第二偏置值 chamferBuilder->SetAngle("45"); // 角度参数 chamferBuilder->SetTolerance(0.001); // 设置公差 // === 修复部分:创建正确的边界选择规则 === if (!sectionCurves1.empty()) { // 创建选择收集器 ScCollector* edgeCollector = workPart->ScCollectors()->CreateCollector(); // 获取第一条边作为种子边 NXOpen::Edge* seedEdge = dynamic_cast<NXOpen::Edge*>(sectionCurves1[0]); if (seedEdge) { // 创建相切边规则(关键修复) EdgeTangentRule* tangentRule = workPart->ScRuleFactory()->CreateRuleEdgeTangent( seedEdge, // 种子边 nullptr, // 终止边(可选) true, // 包含种子边 0.5, // 公差(参考操作记录) true, // 自动链选择 false // 不反向 ); // 创建规则容器并添加规则 std::vector<SelectionIntentRule*> rules; rules.push_back(tangentRule); // 将规则应用到收集器 edgeCollector->ReplaceRules(rules, false); // 设置收集器到构建器 chamferBuilder->SetSmartCollector(edgeCollector); } } else { throw std::runtime_error("未选择边界曲线"); } // 提交特征 NXOpen::Features::Feature* chamferFeature = chamferBuilder->CommitFeature(); // 清理资源 chamferBuilder->Destroy(); theSession->SetUndoMarkName(markId, "倒斜角特征"); } catch (std::exception& ex) { theUI->NXMessageBox()->Show("错误", NXOpen::NXMessageBox::DialogTypeError, ex.what()); } // ====== 添加倒斜角功能结束 ====== //---- Enter your callback code here ----- } catch(exception& ex) { //---- Enter your exception handling code here ----- errorCode = 1; bianjieshunmian::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what()); } return errorCode; }提示:未选择边界曲线,检查是不是上面的控件没有正确获取到边
最新发布
08-16
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值